2016-10-10 11 views
0

私は現在、テキストを取得し、リンク自動検出機能を有効にしようとしているテキストにいくつかのUITextViewを設定する単純なアプリケーションを開発中です。リンクリダイレクトを有効にするためにUITextViewデリゲートを実装しようとしている間にパーサがエラーを返します:Use of undeclared type 'url'textView(_:shouldInteractWith:in :)の宣言されていない型 'URL'の使用

新しいバージョンのtextViewを使用しようとすると、 :shouldInteractWith:in:interaction :)、パーサも同じを返します:Use of undeclared type UITextItemInteractionのエラー

+0

iOS 10以降をターゲットに設定していますか? –

+0

現在、ベースプロジェクトの設定では、9.3に設定されています(最新のものです) –

答えて

1

の下に指定されたメソッドの定義を確認し、そのメソッドのドキュメントを確認してください。実際には、タイプUITextItemInteractionの第4引数があります。それはおそらくオプションであると宣言されています。あなたの定義にそれをリストしていないときは、あなたはそれを気にしないと仮定しますが、まだそこにあります。そして、UITextItemInteractionは、iOS 10以降でのみ利用可能です。もしXcodeが9.3が最新であると思うなら、あなたのXcodeは古くなっています。 Xcode 8にアップデートする必要があります。本当に必要な場合はiOS 9をターゲットにすることはできますが、Xcode 8コンパイラのエラーが表示されるような方法でiOS 10でしか使用できないとマークする必要があります。

+0

情報をありがとう - しかし、私が言ったように、UITextItemInteraction部分が存在するかどうかに関わらず、宣言されていないURL型の問題が発生します。 –

+0

Xcode 8を実行していますか? –

+0

いいえ、7.3.1 App Storeには更新が存在するとは言われていませんが、店舗のXCodeアプリに行くと、最新のバージョンは8.0だが、 '更新'ではなく「取得」と表示されます。 –

0

func textView(_ textView: UITextView, shouldInteractWith URL: URL, in characterRange: NSRange) -> Bool { return true }

+1

'URL'はSwift 3で完全に有効なSwiftタイプであり、このメソッドの新しいバージョンとしては問題ありません実際にはNSURLの代わりに 'URL'で宣言します。 –

+0

また、NSURLはオーバーライドされる関数のURLを使用してエラーを返します –

関連する問題