みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

swift言語 Xcode

アプリを作る勉強をしています。参考書通りやりましたが、警告が出てしまいます。
原因がわからず困っています。どなたか助けて頂けませんでしょうか?宜しくお願い致します。
ソースはこちらです。
import UIKit
import MapKit

class ViewController: UIViewController ,UITextFieldDelegate {

override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.

inputText.delegate = self
}

override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}

@IBOutlet weak var inputText: UITextField!

@IBOutlet weak var dispMap: MKMapView!

}
func textFildShoouldReturn(_ textField: UITextField) -> Bool {
textField.resignFirstResponder()

let searchKeyword = textField.text

print(searchKeyword) ⇦ここに警告が出ます。

return true

投稿日時 - 2017-06-20 23:43:35

QNo.9343419

困ってます

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)

ANo.1

そのprintの警告は、Xcodeのバージョンが上がって追加された親切機能で、
「オプショナル型をprintしようとしているけど本当にそのままでいいの?」
と言っているだけです。
デバッグ用にprintしているだけなら特に気にする必要ないし、気になるなら
print(searchKeyword as Any)
とでもしておけば警告は消えます。

今のコードは、おそらくテキストフィールドで文字を入力したら
その文字をprintで出力してキーボード消す動作が行われることを
期待しているのだと思いますが、それが動作しない原因は
printの警告ではなくて、
「textFildShoouldReturn」の綴りが違っていること
(正しくは「textFieldShouldReturn」)と、
そのtextFieldShouldReturnメソッドがViewControllerクラスの
外で定義されていることです。
プログラムの骨組みとなる「{」と「}」の対応関係をきちんとできなければ
絶対に動きません。

投稿日時 - 2017-06-24 12:18:46

あなたにオススメの質問