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

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

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

iOSとは、Apple製のスマートフォンであるiPhoneやタブレット端末のiPadに搭載しているオペレーションシステム(OS)です。その他にもiPod touch・Apple TVにも搭載されています。

Xcode

Xcodeはソフトウェア開発のための、Appleの統合開発環境です。Mac OSXに付随するかたちで配布されています。

Swift

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

Q&A

解決済

2回答

5665閲覧

StoryBoardからのTextField紐付けに伴うSIGABRTについて

momoti_motimoti

総合スコア12

iOS

iOSとは、Apple製のスマートフォンであるiPhoneやタブレット端末のiPadに搭載しているオペレーションシステム(OS)です。その他にもiPod touch・Apple TVにも搭載されています。

Xcode

Xcodeはソフトウェア開発のための、Appleの統合開発環境です。Mac OSXに付随するかたちで配布されています。

Swift

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

0グッド

0クリップ

投稿2015/01/26 00:42

Xcodeから新規に Master-Detail Application を作成し、
そのStoryBoard上から、Master Sceneに遷移する ViewControllerを作成しました。
ViewControllerには、TextFieldを配置しています。

ここまでの状態であれば、iOSシュミレーターの方で正常に動作します。

しかし、FirstViewController.swiftを新規に作成し
先のTextFieldの紐付けを行い実行すると、
AppDelegate.swiftのほうで Thread 1:signal SIGABRT が発生します。

原因を一体何でしょうか。ご指摘お願いします。

ちなみに、
FirstViewController.swiftと、StoryBoard以外には
全く触れていません。
TextFieldの紐付けは、Outletで行っています。

import UIKit class FirstViewController: UIViewController, UITextFieldDelegate { @IBOutlet weak var MyTextField: UITextField! override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() } }

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

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

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

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

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

guest

回答2

0

ベストアンサー

すでに、Custom ClassへのFirstViewContorollerのセットはできています。
Is Inital View Controller にもチェックを入れています。

それだと、原因はよく分かりませんね。手順は以下でよいでしょうか?

  1. Master-Detail Applicationテンプレートでプロジェクトを作成
  2. storyboardを開きView Controllerを追加、Is Initial Controllerのチェックを入れる
  3. 追加したView Controller上にButtonとText Fieldを1つずつ追加
  4. ButtonとMaster SceneのView Controllerをsegueで接続 (ButtonからView Controllerにctrl+マウスドラッグ)、actionはshowを選択
  5. 新規ファイルを作成、内容は質問に記載のものにする
  6. 追加したView ControllerのCustom ClassをFirstViewControllerに設定
  7. Text Fieldと作成したファイルの@IBOutletをsegueで紐付け

(Assistant Editorを開き、@IBOutletの行左の○からText Fieldにマウスドラッグ)

手元でこの手順を試してみましたが、iOSシミュレータで実行してもSIGABORTは発生しませんでした。

投稿2015/01/27 00:04

alpha22jp

総合スコア11

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

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

momoti_motimoti

2015/01/27 00:47

私もalphaさんの手順に則り、最初から作成しました。 すると私も同様にSIGABRTが発生しませんでした・・・ 原因がわからずじまいですが、 おそらく、この手順に含まれない誤った操作があったのだと思います。 解決していただき、ありがとうございます。
guest

0

そのStoryBoard上から、Master Sceneに遷移する ViewControllerを作成しました。

この部分の操作が明確ではないので若干推測になりますが、恐らく新規作成したView ControllerのクラスをFirstViewControllerにセットしていないのではないでしょうか?

storyboardで新規作成したView Controllerを選択し、Identity Inspector (Xcode右側バーの上部左から3番目のボタン) でCustom ClassをFirstViewControllerにセットして下さい。

投稿2015/01/26 14:13

alpha22jp

総合スコア11

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

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

momoti_motimoti

2015/01/26 14:27

説明不足で申し訳ありません。 すでに、Custom ClassへのFirstViewContorollerのセットはできています。 Is Inital View Controller にもチェックを入れています。 作成したViewContorollerには、 画面中央より上の空間にTextField が、 下の空間に Master Scene に遷移するためのbutton が配置されています。 これを作成した時点では、問題なくIOSシュミレーターの方で動作します。 問題は、そのTextField をFirstViewController.swift に紐付け、 @IBOutlet weak var MyTextField: UITextField! を追加した後に起こります。 他にわからないことがありましたら、ご質問ください。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問