1
firstViewController中使用類型爲'(String)'的參數列表調用'append'。這是問題所在。在我的'循環'它給我一個錯誤。我試圖使用Xcode建議的內容,但它不起作用。我仍然認爲自己是Swift的初學者。當人們發佈相同的問題時,我查看了其他答案,但仍無法解決問題。無法在firstViewController的firstViewController
import UIKit
var toDoItems:[String] = []
class FirstViewController: UIViewController, UITableViewDataSource, UITableViewDelegate {
@IBOutlet var tasksTable:UITableView?
override func viewDidLoad() {
super.viewDidLoad()
}
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return toDoItems.count
}
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
var cell = UITableViewCell(style: UITableViewCellStyle.Default, reuseIdentifier: "cell")
cell.textLabel?.text = toDoItems[indexPath.row]
return cell
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
override func viewWillAppear(animated: Bool) {
if var storedToDoItems : AnyObject? = NSUserDefaults.standardUserDefaults().objectForKey("toDoItems") {
toDoItems = []
for var i = 0; i < storedToDoItems?.count(); ++i {
toDoItems.append(storedToDoItems[i] as! String)
}
}
tasksTable?.reloadData()
}
}
這是我的secondViewController。
import UIKit
class SecondViewController: UIViewController, UITextFieldDelegate {
@IBOutlet weak var toDoItem: UITextField!
@IBAction func addItemButton(sender: AnyObject) {
toDoItems.append(toDoItem.text)
let fixedToDoItems = toDoItems
NSUserDefaults.standardUserDefaults().setObject(fixedToDoItems, forKey: "todDoItems")
NSUserDefaults.standardUserDefaults().synchronize()
self.view.endEditing(true)
}
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
func textFieldShouldReturn(textField: UITextField) -> Bool {
textField.resignFirstResponder()
return true
}
override func touchesBegan(touches: Set<NSObject>, withEvent event: UIEvent) {
self.view.endEditing(true)
}
}
這有效。謝謝@羅伯特。現在我試圖讓數組在控制檯中顯示。它沒有顯示我放入數組中的元素。 –
我想我可以使用一個簡單的println()將其打印到控制檯以顯示元素。 –
您應該可以添加'println(toDoItems)'作爲'if let'塊的最後一項來驗證它是否正確加載了您的項目。 – Robert