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

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

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

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

Swift

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

Swift 2

Swift 2は、Apple社が独自に開発を行っている言語「Swift」のアップグレード版です。iOSやOS X、さらにLinuxにも対応可能です。また、throws-catchベースのエラーハンドリングが追加されています。

Q&A

1回答

1791閲覧

TextFiledで入力した文字をlabelに表示したい

KokokaraYoshiki

総合スコア27

Xcode

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

Swift

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

Swift 2

Swift 2は、Apple社が独自に開発を行っている言語「Swift」のアップグレード版です。iOSやOS X、さらにLinuxにも対応可能です。また、throws-catchベースのエラーハンドリングが追加されています。

0グッド

0クリップ

投稿2017/07/10 06:01

###前提・実現したいこと
ここに質問したいことを詳細に書いてください
アラートでtextFiledに文字を入力しコアデータに保存しそれをlabelに表示したいのですが、textfiledに入力すると初めに設定してあるlabelが消えてしまう。

###アラートでtextfiledを表示し文字を入力しコアデータに保存、その後labelに表示
var goodGlife = ""
// 画像
@IBOutlet weak var img: UIImageView!
// 最期の目標
@IBOutlet weak var titleText: UILabel!
@IBAction func addbtn(_ sender: UIButton) {
// テキストフィールド付きアラート表示
let alert = UIAlertController(title: "ToDo", message: "文字を入力してください。", preferredStyle: .alert)
// OKボタンの設定
let okAction = UIAlertAction(title: "OK", style: .default, handler: {
(action:UIAlertAction!) -> Void in
// OKを押した時入力されていたテキストを表示
if let textFields = alert.textFields {
// アラートに含まれるすべてのテキストフィールドを調べる
for textField in textFields {
// AppDelegateのインスタンスを用意しておく
let appDelegate:AppDelegate = UIApplication.shared.delegate as! AppDelegate
// エンティティを操作するためのオブジェクト
let viewContext = appDelegate.persistentContainer.viewContext
// ToDoエンティティオブジェクトを作成
let GoodGLife = NSEntityDescription.entity(forEntityName: "GoodGLife", in: viewContext)
// ToDoエンティティにレコード(行)を挿入するためのオブジェクトを作成
let newRecord = NSManagedObject(entity: GoodGLife!, insertInto: viewContext)
// 追加したいデータ(txtTitleに入力された文字)のセット
if textField.text! == "" || textField.text! == nil{
print("nilが入っています。")
}else{
newRecord.setValue(textField.text!, forKey: "title")
newRecord.setValue(Date(), forKey: "deta")

// レコード(行)の即時保存 do{ try viewContext.save() }catch{ } print("右の文字が入る\(textField.text!)")

// self.todoTask.append(textField.text!)
self.titleText.text=self.goodGlife

} } } }) alert.addAction(okAction) // キャンセルボタンの設定 let cancelAction = UIAlertAction(title: "Cancel", style: .cancel, handler: nil) alert.addAction(cancelAction) // テキストフィールドを追加 alert.addTextField(configurationHandler: {(textField: UITextField!) -> Void in textField.placeholder = "テキスト" }) alert.view.setNeedsLayout() // シミュレータの種類によっては、これがないと警告が発生 // アラートを画面に表示 self.present(alert, animated: true, completion: nil) }
###試したこと コアデータに保存しない場合は文字を表示することが可能ですが、コアデータに入れると表示ができなくなってしまいます。 ###補足情報(言語/FW/ツール等のバージョンなど) swift3 xcode 10.3

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

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

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

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

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

guest

回答1

0

最終的に UILabel のオブジェクトには goodGlife の値を設定しています。
これが空文字で初期化されていて、特に値が代入されていないようなので、
このまま設定されれば、ラベルが消えるのは正しい挙動になります。

swift

1var goodGlife = ""

swift

1self.titleText.text=self.goodGlife 2

投稿2017/07/13 12:15

ykws

総合スコア1236

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問