前提・実現したいこと
テキストフィールドに入力した文字を、表示ボタンを押すことで、ラベルに表示させたい。
発生している問題・エラーメッセージ
表示されていたが いろいろ付け加えていったら @UIApplicationMain class AppDelegate: UIResponder, UIApplicationDelegate {で Thread 1: signal SIGABRT
該当のソースコード
Swift
1import UIKit 2 3class ViewController: UIViewController, UITextFieldDelegate { 4 5 @IBOutlet weak var testText: UITextField! 6 @IBOutlet weak var outPut: UILabel! 7 // 文字列保存用の変数 8 var textFieldString = "" 9 10 override func viewDidLoad() { 11 super.viewDidLoad() 12 // Do any additional setup after loading the view. 13 14 } 15 16 @IBAction func hyouzi(_ sender: Any) { 17 // TextFieldから文字を取得 18 textFieldString = testText.text! 19 print(textFieldString) 20 outPut.text = textFieldString 21 // TextFieldの中身をクリア 22 //testText.text = "" 23 } 24 25 func textFieldShouldReturn(_ textField: UITextField) -> Bool { 26 // textField.resignFirstResponder() 27 self.view.endEditing(true) 28 return true 29 } 30
試したこと
// TextFieldの中身をクリア //testText.text = ""
を追加したらこのようになってしまいました。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
print(textFieldString)の下にprint(testText)って入れて同じことやったらコンソールになんと表示されますか?
ありがとうございます。
Coercion of implicitly unwrappable value of type 'UITextField?' to 'Any' does not unwrap optional
と黄色の文字が出ました。
これでお答えになっていますでしょうか。
https://capibara1969.com/1351/
nilって表示されない?
で、nilって表示されたら、outlet接続がきちんとされてるか見直してください。
outlet接続の確認の仕方がわからない場合は調べていろいろよく読んでください
https://teratail.com/questions/194916
nilの表示が出ませんでした。
ちなみに このようになりました。
質問に追記したのですが
ボタンの接続がややこしくしてしまっているのでしょうか。
2020-05-25 19:48:39.941388+0900 Textfield[30623:1589989] *** Terminating app due to uncaught exception 'NSUnknownKeyException', reason: '[<Textfield.ViewController 0x7f9c1a708ab0> setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key hyouzi.'
*** First throw call stack:
(
0 CoreFoundation 0x00007fff23baa1ee __exceptionPreprocess + 350
1 libobjc.A.dylib 0x00007fff50864b20 objc_exception_throw + 48
2 CoreFoundation 0x00007fff23ba9db9 -[NSException raise] + 9
3 Foundation 0x00007fff2563e130 -[NSObject(NSKeyValueCoding) setValue:forKey:] + 325
4 UIKitCore 0x00007fff46f008e9 -[UIViewController setValue:forKey:] + 87
5 UIKitCore 0x00007fff471ec3fa -[UIRuntimeOutletConnection connect] + 109
6 CoreFoundation 0x00007fff23b96212 -[NSArray makeObjectsPerformSelector:] + 242
7 UIKitCore 0x00007fff471e95a2 -[UINib instantiateWithOwner:options:] + 2190
8 UIKitCore 0x00007fff46f07b3b -[UIViewController _loadViewFromNibNamed:bundle:] + 395
9 UIKitCore 0x00007fff46f08660 -[UIViewController loadView] + 177
10 UIKitCore 0x00007fff46f0895f -[UIViewController loadViewIfRequired] + 172
11 UIKitCore 0x00007fff46f0910c -[UIViewController view] + 27
12 UIKitCore 0x00007fff475b0241 -[UIWindow addRootViewControllerViewIfPossible] + 150
13 UIKitCore 0x00007fff475af8f5 -[UIWindow _updateLayerOrderingAndSetLayerHidden:actionBlock:] + 232
14 UIKitCore 0x00007fff475b09b5 -[UIWindow _setHidden:forced:] + 362
15 UIKitCore 0x00007fff475c3d61 -[UIWindow _mainQueue_makeKeyAndVisible] + 42
16 UIKitCore 0x00007fff477cac91 -[UIWindowScene _makeKeyAndVisibleIfNeeded] + 202
17 UIKitCore 0x00007fff46b172ea +[UIScene _sceneForFBSScene:create:withSession:connectionOptions:] + 1405
18 UIKitCore 0x00007fff475751a2 -[UIApplication _connectUISceneFromFBSScene:transitionContext:] + 1018
19 UIKitCore 0x00007fff475754e4 -[UIApplication workspace:didCreateScene:withTransitionContext:completion:] + 304
20 UIKitCore 0x00007fff470ec535 -[UIApplicationSceneClientAgent scene:didInitializeWithEvent:completion:] + 361
21 FrontBoardServices 0x00007fff364e0361 -[FBSSceneImpl _callOutQueue_agent_didCreateWithTransitionContext:completion:] + 442
22 FrontBoardServices 0x00007fff365065f8 __86-[FBSWorkspaceScenesClient sceneID:createWithParameters:transitionContext:completion:]_block_invoke.154 + 102
23 FrontBoardServices 0x00007fff364eae41 -[FBSWorkspace _calloutQueue_executeCalloutFromSource:withBlock:] + 220
24 FrontBoardServices 0x00007fff36506289 __86-[FBSWorkspaceScenesClient sceneID:createWithParameters:transitionContext:completion:]_block_invoke + 355
25 libdispatch.dylib 0x0000000101ba2d6c _dispatch_client_callout + 8
26 libdispatch.dylib 0x0000000101ba5cdd _dispatch_block_invoke_direct + 300
27 FrontBoardServices 0x00007fff3652c49e __FBSSERIALQUEUE_IS_CALLING_OUT_TO_A_BLOCK__ + 30
28 FrontBoardServices 0x00007fff3652c18c -[FBSSerialQueue _queue_performNextIfPossible] + 441
29 FrontBoardServices 0x00007fff3652c69b -[FBSSerialQueue _performNextFromRunLoopSource] + 22
30 CoreFoundation 0x00007fff23b0d271 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 17
31 CoreFoundation 0x00007fff23b0d19c __CFRunLoopDoSource0 + 76
32 CoreFoundation 0x00007fff23b0c9cc __CFRunLoopDoSources0 + 268
33 CoreFoundation 0x00007fff23b0767f __CFRunLoopRun + 1263
34 CoreFoundation 0x00007fff23b06e66 CFRunLoopRunSpecific + 438
35 GraphicsServices 0x00007fff38346bb0 GSEventRunModal + 65
36 UIKitCore 0x00007fff47578dd0 UIApplicationMain + 1621
37 Textfield 0x000000010187866b main + 75
38 libdyld.dylib 0x00007fff516ecd29 start + 1
39 ??? 0x0000000000000001 0x0 + 1
)
libc++abi.dylib: terminating with uncaught exception of type NSException
(lldb)
質問文に追記されている
試したこと
// TextFieldの中身をクリア
//testText.text = ""
を追加したらこのようになってしまいました。
というのは、お願いしたことではないのですが…
でこんどは
@IBAction func hyouzi(_ sender: Any)
がないって言ってますね。
何をされたかわかりませんが、
outlet接続、action接続をみなおしてください。
わかりました。ありがとうございました。
ありがとうございます。hyouziのNew Referencing Outlets を削除したらうごきました。
恥のかきついでに質問させていただきます。
ご指導いただければありがたいです。
むやみにボタンにアウトレットやアクションを追加・削除したのが原因と思われます。
私は基本的なことが全くわかっておりません。
例えばストーリーボードからボタンをコントロールを押しながら
ドラッグすると入る行と入らない行があります。
その意味すらわかっていません。
出来上がったソースコードを参考に
やっているだけだったので。
また教えていただけるとありがたいです。
直上のコメントで何を質問されたいのか意味を把握できないのでちょっとお答えできません。
本質問について問題が解決したようでしたら、
問題点と解決方法を記入して解決済みにしてみてください。
すいません。いろいろと。解決方法を自分なりにまとめてみましたが、正しいのかはわかりません。意味のわからない質問にお付き合いいただきありがたく感じております。初めてでベスト回答のやり方すらわかないので申し訳ありません。
回答3件
あなたの回答
tips
プレビュー