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

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

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

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

Swift

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

Q&A

解決済

1回答

2546閲覧

入力された文字をラベルに表示する方法がわかりません。

ke__6

総合スコア15

Xcode

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

Swift

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

0グッド

0クリップ

投稿2017/06/22 02:32

編集2017/06/22 05:09

Swift3.0を学習し始めたものです。
初めてサンプルコード等を確認せずにプログラム(TextFieldに入力された文字をButtonを押された際にlabelに表示するプログラム)を組んでいるのですが、入力された文字を参照する方法がわからず、エラーが返されてしまいます。他言語の学習履歴のない全くの初心者ですが、回答いただけると幸いです。
###発生している問題・エラーメッセージ
イメージ説明

エラーメッセージ

![
###該当のソースコード

Swift3.0

1import UIKit 2 3class ViewController: UIViewController { 4 5 @IBOutlet weak var Label: UILabel! 6 @IBOutlet weak var tweet: UITextField! 7 8 9 @IBAction func tweet(_ sender: UIButton) { 10 11 print("action") 12 13 let camp = "Hello" + tweet.text! 14 15 print(camp + tweet.text!) 16 17 18 19 }

###試したこと
inputやoutputを使って記述してみたがエラーが返された。

###補足情報(言語/FW/ツール等のバージョンなど)
Swift3.0
xcode8.2.1

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

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

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

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

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

guest

回答1

0

ベストアンサー

swift

1@IBOutlet weak var text: UITextField!

swift

1var text = "Hello" + text.text!

の変数名が同じtextなので違う名前にして下さい。

投稿2017/06/22 02:45

fuzzball

総合スコア16731

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

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

ke__6

2017/06/22 02:57

何度も質問失礼します。変数名を変えようとvar text = "Hello World" + text.text!の最初のtextをcampに変更したところintialization of variable 'camp'was never used; consider replacing with assignment to'_' or removing it と表示されてしまいました。私が変更する場所を間違えたのでしょうか。。
fuzzball

2017/06/22 03:01

それは、変数を定義しているのに使っていないときの警告です。 その下に print(camp) などを追加すれば消えます。
ke__6

2017/06/22 04:07

連絡遅れてすみません、エラー自体は消えたのですがTextFieldに文字を入力してボタンを押しても何も変化しないのはコードが不足しているからでしょうか?それとも紐付けの設定がいけないのでしょうか。。
fuzzball

2017/06/22 04:10

action()は呼ばれていますか?action()の先頭にprint("action")を追加して確認して下さい。
ke__6

2017/06/22 04:25 編集

print("action")を追加してやったところ、signal SIGABRTというエラーが出てきてしまい、ネットで調べたところ紐付けの問題ということまではわかりました。こうなった場合一度紐付けを全部解除してやり直すべきでしょうか?※エラーについては画像追加したので確認していただけると幸いです。
fuzzball

2017/06/22 04:38 編集

!が付いてるやつは何かがおかしいです。 一度削除して付け直して下さい。(不要なものは削除だけで)
ke__6

2017/06/22 04:52

付け直して @IBOutlet weak var Label: UILabel! @IBOutlet weak var tweet: UITextField! @IBAction func tweet(_ sender: UIButton) { print("action") let camp = "Hello" + tweet.text! print(camp + tweet.text!) という風に書いたところ、1度目の結果がHelloattatt(名前が二回)になったので一度tweet.text!を消したところ何も表示されなくなってしまいました。。
fuzzball

2017/06/22 04:55

「付け直して」と書かれても、何をどう付け直したのか私には分からないんですよ。
ke__6

2017/06/22 04:56

すみません説明不足でした。一度紐付けを解除して、再度紐付けをしなおしたということです。
fuzzball

2017/06/22 04:59 編集

質問内の画像を更新して下さいよ‥。(ここまで言わないと分からないのかね) コードも、質問内のコードを更新して下さい。
ke__6

2017/06/22 05:06

画像の位置の変え方など、ここのサイトの使い方を調べてる最中で作業が追いついてませんでした。
fuzzball

2017/06/22 05:19

campnいは繋げた文字列が入っているのですから、 print(camp) でいいのでは?
ke__6

2017/06/22 05:21

そう思ってさっきやってみたらoutputエリアが空白だったので違うのかと思いましたが、今やってみたらうまく表示されました。何度もすみませんでした。ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問