【发布时间】:2015-11-17 03:05:09
【问题描述】:
我的主要问题是我没有将我输入的文本输入到我制作的标签或表格中(有点偏差,但想稍微自定义一下)。我没有收到任何错误,但有人可以看看这段代码,看看其中是否有我可能忽略的重大错误吗? 编辑:我不断返回并更改类型之类的小东西,但没有任何效果。这是我的整个代码,以防它对每个人都更有意义
import UIKit
class ViewController: UIViewController, UITextFieldDelegate, UITableViewDelegate {
var weatherList = [String] ()
@IBOutlet weak var textField: UITextField!
@IBOutlet weak var textLabel: UILabel!
@IBAction func searchButton(sender: AnyObject) {
weatherList.append(textField.text!)
textField.text = ""
NSUserDefaults.standardUserDefaults().setObject(weatherList, forKey: "weatherList")
}
@IBOutlet weak var tableView: UITableView!
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
if NSUserDefaults.standardUserDefaults().objectForKey("weatherList") != nil {
weatherList = NSUserDefaults.standardUserDefaults().objectForKey("weatherList") as! [String]
}
self.textField.delegate = self
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return weatherList.count
}
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = UITableViewCell(style: UITableViewCellStyle.Default, reuseIdentifier: "Cell")
cell.textLabel?.text = weatherList[indexPath.row] as String
return cell
}
func tableView(tableView: UITableView, commitEditingStyle editingStyle: UITableViewCellEditingStyle, forRowAtIndexPath indexPath: NSIndexPath) {
if editingStyle == UITableViewCellEditingStyle.Delete {
weatherList.removeAtIndex(indexPath.row)
NSUserDefaults.standardUserDefaults().setObject(weatherList, forKey: "weatherList")
tableView.reloadData()
}
}
override func viewDidAppear(animated: Bool) {
tableView.reloadData()
}
override func touchesBegan(touches: Set<UITouch>, withEvent event: UIEvent?) {
self.view.endEditing(true)
}
func textFieldShouldReturn(textField: UITextField) -> Bool {
textField.resignFirstResponder()
performAction()
return true
}
func performAction() {
weatherList.append(textField.text!)
textField.text = ""
NSUserDefaults.standardUserDefaults().setObject(weatherList, forKey: "weatherList")
}
}
【问题讨论】:
标签: ios swift uitableview uitextfield