2016-07-29 4 views
0

ユーザーがテーブルビュー内の2つのテキストフィールドに入力するデータを保存する方法を探しています。ユーザーは、テーブルビューに人の名前と高さを入力する必要がありますし、私はそれをカスタム配列に保存します。テーブルビューのテキストフィールドをカスタムオブジェクトの配列に保存する

struct PersonData { 
    var name: String 
    var height: Int 

    init(name: String, height: Int) { 
     self.name = name   
     self.height = height 
    } 
} 

I'veを検索し、私はこのSwift: retrieving text from a UITextField in a custom UITableViewCell and putting it in an arrayを見つけましたが、それでも二つの質問を得ました。

カスタムアレイにアイテムを追加するにはどうすればよいですか?私はこれで試してみます:

personData[textField.tag].name = textField.text! 

もっと簡単な方法はありませんか?

ありがとうございました!

答えて

0

私があなたの質問を正しく理解していれば、解決策が得られるはずです。

PersonData型の配列を初期化します。次に、PersonData型のオブジェクトを作成します。情報がある場合はいつでも、このオブジェクトに格納し、作成した配列にオブジェクトを追加します。

let array = [PersonData]() 
    let personDataObject = PersonData() 

    //After you store the values in the object you add the object to you array. 
    personDataObject.name = textField1.text 
    personDataObject.height = textField2.text //You need to convert this to Int. Try personDataObject.height = textField2.text as? Int or personDataObject.height = Int(textField2.text) 

    array.append(personDataObject) 
+0

はい、私はそれを考えたが、ポイントは、私は、配列にユーザーがその答えは私には不可能ですので、テキストフィールドを編集して終了するたびに入力する必要がされて:( –

+0

、ユーザが編集を終了すると、完了を言うボタンを与えますか、テキストフィールドを提出してクリアしてください。新しいデータを入力すると同じプロセスが繰り返されます。これを試してみてください。 –

+0

私はその方法を試してみませんでした –

関連する問題