1
사용자가 입력 한 새 텍스트에 적용 할 서식을 검색하려고합니다. 커서가 위치를 가지고 있지만 텍스트 선택이 없음 (즉, 길이 = 0)을 의미합니다. typingAttributes를 쿼리 할 때마다, 그냥 로그하는 경우에도 앱이 다운됩니다. 디버그 Navigator에서 NSAttributedString typingAttributes가 충돌 함
Thread 1:EXC_BAD_ACCESS (code=2, address=0x4)
일이 마지막 일
은 다음과 같습니다WebCore::Frame::styleAtSelectionStart() const
그리고 나는 selectedRange.length로 로그인하면 바로 그 전에, 내가
-[UITextView typingAttributes]
를 참조 0보다 큰 , 괜찮을 것 같습니다. 내가 좀비와 가드 Malloc을 사용하여 실행 해봤지만 아무것도 보이지 않는다. 내 테스트 프로젝트에서
는 충돌이 즉시 UITextView가되면서 발생 firstResponder :- (void)updateFormatButtons
{
UITextView *problemTextView = [self synopsisTextView];
NSRange selectedRange = [self getSelectedTextRange];
if (selectedRange.length == 0) // No text selected
{
// HELP - Why does the following line cause a crash?
// NSLog(@"textViewFormatting options: %@", [problemTextView typingAttributes]);
}
else
{
NSLog(@"Some text selected"); // Fine here
NSLog(@"textViewFormatting options: %@", [problemTextView typingAttributes]);
}
}
선택한 범위에 따라 :
속성을 확인하기 위해 호출- (void)textViewDidChangeSelection:(UITextView *)textView
{
[self updateFormatButtons];
}
- (NSRange)getSelectedTextRange
{
NSRange rangeToReturn = NSMakeRange(NSNotFound, 0);
UITextView *textView = [self synopsisTextView];
if ([textView isFirstResponder])
{
rangeToReturn = [textView selectedRange];
}
return rangeToReturn;
}
제안 해 주셨습니다.