2012-02-06 9 views
0

Xcode 4.1 (빌드 4B110)을 사용하여 my 프로젝트에 three20을 추가하면 ttmodule.py가 사용됩니다. 방금 일부 기능을 가져 와서 사용하면 모든 것이 정상입니다.Three20 - [TTStyledLinkNode findLastSibling :] : 인스턴스로 전송 된 인식 할 수없는 셀렉터

NSString* kText = @"<a href=\"http://www.google.com\">Google</a>"; 
    TTStyledTextLabel* label = [[[TTStyledTextLabel alloc] initWithFrame:CGRectMake(0, 0, 200, 1)] autorelease]; 
    label.text = [TTStyledText textFromXHTML:kText lineBreaks:YES URLs:YES]; 
    [self.view addSubview:label]; 

및 콘솔 오류 정보 :

-[TTStyledLinkNode findLastSibling:]: unrecognized selector sent to instance 0x5e830a0 
    *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[TTStyledLinkNode findLastSibling:]: unrecognized selector sent to instance 0x5e830a0' 
    *** Call stack at first throw: 
    (
    0 CoreFoundation      0x0192a5a9 __exceptionPreprocess + 185 
    1 libobjc.A.dylib      0x01a7e313 objc_exception_throw + 44 
    2 CoreFoundation      0x0192c0bb -[NSObject(NSObject) doesNotRecognizeSelector:] + 187 
    3 CoreFoundation      0x0189b966 ___forwarding___ + 966 
    4 CoreFoundation      0x0189b522 _CF_forwarding_prep_0 + 50 
    5 Xxxxxxxxx       0x000fc922 -[TTStyledElement addChild:] + 148 
    6 Xxxxxxxxx       0x0010584d -[TTStyledTextParser addNode:] + 176 
    7 Xxxxxxxxx       0x00105ca8 -[TTStyledTextParser parseURLs:] + 479 
    8 Xxxxxxxxx       0x00106b5c -[TTStyledTextParser parseText:URLs:] + 55 
    9 Xxxxxxxxx       0x00106f30 -[TTStyledTextParser parseText:] + 595 
    10 Xxxxxxxxx       0x00105a85 -[TTStyledTextParser flushCharacters] + 104 
    11 Xxxxxxxxx       0x0010690e -[TTStyledTextParser parser:didEndElement:namespaceURI:qualifiedName:] + 36 
    12 Foundation       0x01657959 _endElementNs + 453 
    13 libxml2.2.dylib      0x01dc67c7 xmlParseXMLDecl + 1346 
    14 libxml2.2.dylib      0x01dd14d1 xmlParseChunk + 3984 
    15 Foundation       0x0165715a -[NSXMLParser parse] + 321 
    16 Xxxxxxxxx       0x00106cd6 -[TTStyledTextParser parseXHTML:] + 256 
    17 Xxxxxxxxx       0x001039bb +[TTStyledText textFromXHTML:lineBreaks:URLs:] + 195 
    18 Xxxxxxxxx       0x000038fa -[Xxxxxxxxx someMethod] + 2282 

Three20의 버그가 내가 이런 TTStyledTextLabel를 사용할 때

는 내가 SIGABRT 오류 및 충돌을 얻을? 나는 이것을 모른다.

+0

실제 질문은 Three20의 범주 방법이 작동하지 않는다고 생각합니다. – qiz

답변

0

다른 링커 플래그에 -ObjC이 있습니까?

이미 언급했듯이 범주가 올바르게 연결되지 않은 것처럼 보입니다. 가장 일반적인 이유는 링커 플래그로 -ObjC을 지정하지 않는 것입니다. 또는 전에 사용한 것처럼 -Objc을 사고로 사용할 수 있습니다.

이미 -ObjC이있는 경우 -all_load을 다른 링커 플래그에 추가하려고 할 수 있지만 Xcode 또는 Three20의 최신 버전에서는 더 이상 필요하지 않습니다.

+0

** 이미 ** - ObjC ** 및 ** - all_load **를 다른 링커 플래그에 추가했지만 문제가 여전히 있습니다. – qiz

+0

마지막으로 모든 Three20의 파일을 복사하지 않고 내 프로젝트에 추가합니다. D – qiz

+0

"복사하지 않고 모든 파일 추가"란 무엇을 의미합니까? 3 개의 20 개의 프로젝트로 컴파일 된 정적 라이브러리에 * 링크 *해야합니다. 여기를보세요 : http://three20.info/article/2010-10-06-Adding-Three20-To-Your-Project – tonklon

관련 문제