2015-03-14 3 views
0

Я создаю приложение, в котором есть много текстовых полей, которые вводят имена игроков, каждый из которых имеет каждое собственное текстовое поле, есть способ объединить их все в единый @IBAction? если да, как я могу получить текст из каждого, чтобы он мог быть сохранен на моем plist?Как объединить несколько текстовых полей в один IBACTION? - Swift

@IBAction func player1NameInput(sender: UITextField) { 


    var nameInput = sender.text 


    var playersDictionaryPath = NSBundle.mainBundle().pathForResource("PlayersInfo", ofType: "plist") 
    var playersDictionary = NSMutableDictionary(contentsOfFile: playersDictionaryPath!) 
    var playersNamesArray = playersDictionary?.objectForKey("playersNames")? as NSMutableArray 

    playersNamesArray[0] = "\(nameInput)" 

    playersDictionary?.writeToFile(playersDictionaryPath!, atomically: true) 

} 


@IBAction func player2NameInput(sender: UITextField) { 

    var nameInput = sender.text 

    var playersDictionaryPath = NSBundle.mainBundle().pathForResource("PlayersInfo", ofType: "plist") 
    var playersDictionary = NSMutableDictionary(contentsOfFile: playersDictionaryPath!) 
    var playersNamesArray = playersDictionary?.objectForKey("playersNames")? as NSMutableArray 

    playersNamesArray[1] = "\(nameInput)" 

    playersDictionary?.writeToFile(playersDictionaryPath!, atomically: true) 


} 

ответ

0

Соедините все свои текстовые поля с тем же действием. Внутри этого действия определите индекс в массиве имен, который вы хотите использовать, возможно, вы добавили все текстовые поля в IBOutletCollection, и вы можете получить индекс оттуда (если для них работает упорядочение, это не для в то время как). В противном случае вы сами создадите массив из всех полей. Для этого вам нужны были бы магазины.