2011-12-15 2 views
0

나는 STH 그릴 핵심 텍스트를 사용하고는CTFramesetterCreateWithAttributedString EXC_BAD_ACCESS


CTFramesetterCreateWithAttributedString((CFAttributedStringRef)immutableContent); 

의 경우 EXC_BAD_ACCESS 문제를 수신 디버깅하는 방법을 모르겠습니다. NSAttributedString에 sth가 잘못되었다고 생각하지만 해결 방법을 모르겠습니다. 게다가, NSAttributedString을 만드는 방법은 다른 프로젝트에서 작동합니다. 그래서 왜 혼란 스러워요 ~~

감사합니다!

+0

보존 된 개체입니까? – SAKrisT

+0

은 AttributedString을 유지합니까? I 시도하고 문제가 다른 문제에 고정 – scorpiozj

+0

발생 [메모리 관리를 위해 ctrundelegateref-아이폰] [1] [1] : http://stackoverflow.com/questions/8558513/메모리 관리를 위해 ctrundelegateref-아이폰 동일한 질문에 – scorpiozj

답변

0

내 코드와 작동 잘

NSMutableAttributedString* attrStrWithLinks = [self.attributedText mutableCopy]; 
CTFramesetterRef framesetter = CTFramesetterCreateWithAttributedString((CFAttributedStringRef)attrStrWithLinks); 

self.attributedText - NSAttributedString은

우리의 경우
+0

감사합니다. 당신은 맞아야하는 문서의 API가 올바른 방법입니다. 문자열에 문제가있는 것 같지만 문자열의 작성 방법이 다른 프로젝트에서 작동하는 것처럼 어디 있는지 알지 못합니다. – scorpiozj

0

, 무슨 일이 다른 스레드가 framesetting 동안 캐릭터의 속성을 변경된다는 점이다. 하나의 접근법은 사본을 작성하는 SAKrisT 's입니다. 다른 하나는 문자열 CTFramesetterCreateWithAttributedString 호출에 대한 액세스를 직렬화하는 것입니다.