2016-10-04 66 views
-4

我創建了一個帶有三個按鈕和一個UITextField的UIAlertController。我希望能夠將用戶輸入保存在另一個ViewController的UITableView行單元格中。將UIAlertControllers UITextField文本保存爲核心數據

我試圖將UiTextField文本保存在數組中無濟於事。

如何將此輸入保存到數組中,以便我可以保存到核心數據。

在此先感謝您的幫助。

回答

0

通常,您不會將字符串直接保存到Core Data。它的目的是存儲可能具有字符串作爲它們的屬性的入口。

如果您從當前視圖控制器中將UITableView推送到視圖控制器,並且您不需要保存數據,則可以將每個字符串用戶保存在UIAlertController按鈕的其中一個處理程序的文本字段中,如

let saveAction = UIAlertAction(title: "Save", style: UIAlertActionStyle.default, handler: { 
      alert -> Void in    
      let textField = alertController.textFields!.first 
      self.dataSource.append(textField.text) 
     }) 

然後,您可以將dataSource傳遞給下一個視圖控制器。

或者,您可以實現NSManagedObject子類並在saveAction回調中創建它的實例。在這種情況下,您的數據源應該是自定義NSManagedObjects子類的數組,每次執行saveAction時,都應創建一個新實例saveContext並將此實例附加到dataSource。然後,您將能夠在任何控制器中獲取這些實例,而無需與其他控制器綁定。

你可以找到這個教程,用於創建和提取核心數據實例。它還使用帶有UITextField的UIAlertController輸入新數據:

https://www.raywenderlich.com/115695/getting-started-with-core-data-tutorial