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

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

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

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

Swift

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

Q&A

解決済

2回答

5222閲覧

xcodeでの、Outlet接続ができません

ueda_kesuke

総合スコア34

Xcode

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

Swift

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

0グッド

0クリップ

投稿2019/06/14 03:57

viewcontrollerで定義した @IBOutlet が、Main.storyboardに現れてくれません…

swift

1import UIKit 2 3class Question1_ViewController: UIViewController, UITextFieldDelegate { 4 5 @IBOutlet var name: UITextField! 6 @IBOutlet var gender: UISegmentedControl! 7 8 9 override func viewDidLoad() { 10 super.viewDidLoad() 11 12 // Do any additional setup after loading the view. 13 name.delegate = self; 14 } 15 16 override func prepare(for segue: UIStoryboardSegue, sender: Any?) { 17 let aD: AppDelegate = UIApplication.shared.delegate as! 18 AppDelegate 19 aD.name = name.text! 20 21 switch gender.selectedSegmentIndex{ 22 case 0: 23 aD.gender = "男" 24 case 1: 25 aD.gender = "女" 26 default: 27 break; 28 29 } 30 } 31 32 func textFieldShouldReturn(_ textField: UITextField) -> Bool { 33 textField.resignFirstResponder() 34 return true 35 } 36 37 /* 38 // MARK: - Navigation 39 40 // In a storyboard-based application, you will often want to do a little preparation before navigation 41 override func prepare(for segue: UIStoryboardSegue, sender: Any?) { 42 // Get the new view controller using segue.destination. 43 // Pass the selected object to the new view controller. 44 } 45 */ 46 47} 48

上記、
@IBOutlet var name: UITextField!
@IBOutlet var gender: UISegmentedControl!

の部分がstoryboardのcontrollerのOutletsに表示されません。どうしたら良いでしょうか??

画像
画像右上の「Outlets」という部分にnameとgenderが来て欲しいのです。

試したこと

クラスはあっているか確認

足りない情報がありましたら教えていただけると嬉しいです。

どなたかご教授いただけると幸いです????‍♂️

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

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

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

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

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

guest

回答2

0

ベストアンサー

Storyboard上のUIと、コード上のアウトレットを繋ぎましたか?
コードに書いただけでは表示されませんよ。

投稿2019/06/14 04:03

fuzzball

総合スコア16731

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

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

ueda_kesuke

2019/06/14 04:09

失礼しました。こちら失念していました。ありがとうございます! 繋いだのですが、「Invalid redeclaration of 'name'」というエラーが出てしまいました。 ググってみてもどう解決すれば良いのかわかりませんでした。変数の定義が間違っているということなのでしょうか??
ueda_kesuke

2019/06/14 04:10

解決できました!ありがとうございます!!
fuzzball

2019/06/14 04:11

それは新たに同じ名前のアウトレットを作ってしまったのでは? @IBOutlet var name: UITextField! という行が2つありませんか?(あったら片方を削除して下さい)
ueda_kesuke

2019/06/14 04:16

はい、その通りでした!とても助かりました。ありがとうございます!
guest

0

(すみません、余談です)
controlドラッグでソースまで引っ張ると変数宣言&アウトレット接続まで勝手にやってくれるのですが、このやり方ってあまり一般的ではないんでしょうかね。

イメージ説明

投稿2019/06/14 08:56

編集2019/06/14 08:57
takabosoft

総合スコア8356

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

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

fuzzball

2019/06/14 09:16

私はいつもこれですね。(Controlじゃなくて右ドラッグですけど)
ueda_kesuke

2019/06/14 13:04

海外の動画をみていて見つけました!!今まで知りませんでした 。とても助かりました!ありがとうございます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問