2016-07-03 1 views
2

검색 가능한 링크가있는 UITextView를 만들었지 만 UITextView 대리인 함수 'shouldinteractwithURL'을 사용할 수 없습니다.UITextViewDelegate 함수는 Xcode 8.0의 URL과 상호 작용해야합니다.

인스턴스 메서드가 다른 인스턴스 메서드와 거의 일치한다는 경고가 표시됩니다. 대리자 함수를 살펴 보았지만 'shouldinteractwithURL'함수가 ios 10.0 용으로 업데이트되었지만 ios 9와 호환되는 함수 버전을 사용하려고합니다. 그러나 새 버전을 사용하고 배포 대상을 설정하더라도 10으로, 나는 동일한 경고를 얻고 기능은 여전히 ​​(나는 textview 대리인을 정확하게 보냈다) 불리지 않는다.

Xcode에서 제안하는 솔루션은 비공개로 설정하거나 @nonobjc를 추가하는 것입니다. 링크가 클릭 될 때 아무 것도 일어나지 않습니다.

다른 누구에게도이 문제가 있거나 Xcode 8.0의 문제입니까?

답변

6

@availability 속성을 추가하여,이 오류없이 컴파일 :

//For iOS 7...9 
@available(iOS, deprecated: 10.0) 
func textView(_ textView: UITextView, shouldInteractWith url: URL, in characterRange: NSRange) -> Bool { 
    var result = false 
    //... 
    return result 
} 

//For iOS 10 
@available(iOS 10.0, *) 
func textView(_ textView: UITextView, shouldInteractWith url: URL, in characterRange: NSRange, interaction: UITextItemInteraction) -> Bool { 
    var result = false 
    //... 
    return result 
} 
+0

이이 일을, 감사합니다! – user2562126