質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

Q&A

解決済

2回答

1476閲覧

UITextFieldでテキストを参照するとエラーが出ます

tn_mrmn

総合スコア16

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

0グッド

0クリップ

投稿2017/02/22 08:54

編集2017/02/23 04:38

Swift初心者です。
UITextFieldを使ってテキストボックスを設置したのですが、
ボタンをクリックした際にテキストを空にする処理を試しに書いてみたら、
テキストエリアを空にする処理をする際に、
「__pthread_kill」内「0x10b87cf06 <+10>: joe 0x10b87cf10; <+20>」の行にてエラーが発生しました。
メッセージは「Thread 3: signal SIGABRT」です。

同様の事で困っている人が結構いるかと思ったのですが、
なかなかいなかった為、相談させていただきました。ご教示の程よろしくお願い致します。

Swift

1@IBOutlet weak var testText: UITextField! 2 3@IBAction func loginButton(_ sender: Any) { 4 testText.text = "" // ここでエラー発生 5 6 let apiURL = URL(string:"https://testapi.com")! 7 var request = URLRequest(url: apiURL) 8 request.httpMethod = "POST" 9 10 // APIに接続 11 URLSession.shared.dataTask(with: request) {data, response, err in 12 if (err == nil) { 13 14 // 通信成功 15 do { 16 // メインメニューに遷移 17 let storyboard: UIStoryboard = self.storyboard! 18 let nextView = storyboard.instantiateViewController(withIdentifier: "MainView") as! MainViewController 19 self.present(nextView, animated: false, completion: nil) 20 21 } catch { 22 23 // 通信エラー 24 let alert = UIAlertController( 25 title: "エラー", 26 message: "通信エラー", 27 preferredStyle: .alert) 28 29 alert.addAction(UIAlertAction(title: "OK", style: .default)) 30 31 self.present(alert, animated: true, completion: nil) 32 } 33 } 34 35 }.resume() 36}

バージョン:Swift3.0

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

domonr

2017/02/22 09:11

エラーが発生するのはビルド時ですか?ボタンをおした時ですか?
tn_mrmn

2017/02/22 09:18

ありがとうございます。ボタン押下時です。よろしくお願い致します。
fuzzball

2017/02/23 02:12

TextFieldのイベントで紐付けしているものはありますか?
tn_mrmn

2017/02/23 02:20

イベントの紐づけはないです…
guest

回答2

0

直接原因が別の所にあった為、当質問はクローズします。

投稿2017/02/23 06:47

tn_mrmn

総合スコア16

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ベストアンサー

@IBOutlet weak var testText: UITextField!
こいつがStoryBoardとの接続がちゃんとできていないのではないでしょうか?

@IBOutlet weak var testText: UITextField!の左にある小さな丸い印みたいなやつをクリックして何も表示されていなかったら接続に失敗しています。

投稿2017/02/22 09:28

domonr

総合スコア263

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

tn_mrmn

2017/02/23 00:58

ご回答いただきありがとうございます。 接続に関してはできているようです。 黒い丸印をクリックしたらstoryboardと紐づいているとのことでポップアップが出ました。
domonr

2017/02/23 02:02

一応なんですが @IBAction func var loginButton(_ sender: Any) { の var って写しミスですかね?
domonr

2017/02/23 02:03

あとloginButtonメソッドがよばれたときのtestTextの値って何になってますか? breakpoint とか仕掛けてみてもらえます?
tn_mrmn

2017/02/23 02:23

テキストエリアに「yy」と入れたら、 Optional("yy")となっています。
tn_mrmn

2017/02/23 02:27

「var」は写しミスでした。大変失礼しました。 投稿を修正しました。よろしくお願い致します。
domonr

2017/02/23 02:53

> テキストエリアに「yy」と入れたら、 > Optional("yy")となっています。 print(testText.text)ってことですかね?
tn_mrmn

2017/02/23 03:02

おっしゃる通りでログ入れていました!
domonr

2017/02/23 03:05

print(testText.text) はエラーにならないのに testText.text = "" はエラーになるってことですか? エラーはtestText.text = ""の行で発生している感じですか?
tn_mrmn

2017/02/23 04:44

大変申し訳ございません。 後にAPI処理を行っていたことが原因でした。 「testText.text = ""」の処理があってもAPI処理がなければエラーは発生しませんでした。 大変申し訳ございませんでした。 別件で大変恐縮ですが、もし御存知でしたらお教えいただきたいです。 追記しましたAPI処理でhttps接続をしているのですが、 問題があるみたいで画面遷移はするのですが、遷移先画面のラベルの文言の表示がされません。 正しい接続方法もし御存知でしたらご教示いただけますでしょうか。 別件で申し訳ございません。 必要でしたら別に質問を立ち上げます。 何卒よろしくお願いいたします。
domonr

2017/02/23 05:42

そうですね。一旦この質問は自己解決して別の質問を立てましょう
tn_mrmn

2017/02/23 06:46

承知しました。 再度質問を立てます。 お手すきでしたら再度アドバイスいただけますと幸いです。 ご丁寧にありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問