Table View不会在Xcode 6 beta 3中显示数据

时间:2014-07-17 21:22:54

标签: ios uitableview swift

此代码适用于具有表视图的视图控制器。我也对此感到困惑,因为我首先在教程中使用它,然后将其实现到我自己的项目中。

import UIKit

class BrowseView: UIViewController, UITableViewDelegate, UITableViewDataSource {

@IBOutlet var tblTasks: UITableView!

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.
}

//Returning to view
override func viewWillAppear(animated: Bool) {
    tblTasks.reloadData();
}

func tableView(tableView: UITableView!, commitEditingStyle editingStyle: UITableViewCellEditingStyle, forRowAtIndexPath indexPath: NSIndexPath!){

    if(editingStyle == UITableViewCellEditingStyle.Delete){
        TaskMgr.tasks.removeAtIndex(indexPath.row)
        tblTasks.reloadData()
    }

}

//UiTableViewDataSource
func tableView(tableView: UITableView!, numberOfRowsInSection section: Int) -> Int{
    return TaskMgr.tasks.count
}

func tableView(tableView: UITableView!, cellForRowAtIndexPath indexPath: NSIndexPath!) -> UITableViewCell!{


    let cell: UITableViewCell = UITableViewCell(style: UITableViewCellStyle.Value2, reuseIdentifier: nil)
    cell.textLabel.text = TaskMgr.tasks[indexPath.row].name
    cell.detailTextLabel.text = TaskMgr.tasks[indexPath.row].desc

    return cell

}

}

这是第二个视图控制器,它有2个文本字段用于表视图的两个单元格的输入,以及一个按钮,可以将您带回到第一个具有表视图的视图控制器。

import UIKit

class CreateView: UIViewController, UITextFieldDelegate {

@IBOutlet var txtTask: UITextField!
@IBOutlet var txtDesc: UITextField!

override func viewDidLoad() {
    super.viewDidLoad()
}

override func didReceiveMemoryWarning() {
    super.didReceiveMemoryWarning()
    // Dispose of any resources that can be recreated.
}

//Events
@IBAction func btnAddTask_Click(sender: UIButton){

    TaskMgr.addTask(txtTask.text,desc:txtDesc.text);
    self.view.endEditing(true)
    txtTask.text = ""
    txtDesc.text = ""
}

//IOS touch functions
override func touchesBegan(touches: NSSet!, withEvent event: UIEvent!) {
    self.view.endEditing(true)
}

//UITextFieldDelegate
func textFieldShouldReturn(textField: UITextField!) -> Bool{
    textField.resignFirstResponder();
    return true
}    
}

这是任务管理器文件:

import UIKit

var TaskMgr: TaskManager = TaskManager()

struct task{
var name = "Un-Named"
var desc = "Un-Described"
}

class TaskManager: NSObject {

var tasks = [task]()

func addTask(name: String, desc: String){
    tasks.append(task(name:name, desc:desc))
}
}

这又是本教程中使用的代码,它适用于我按照说明制作的项目,但它并不是我的。没有任何错误或任何性质,它只是没有显示输入的数据。此外,我使用按钮的模态功能将您传送到不同的视图控制器,我不确定这是否是正确/最佳方式,或者这是否干扰正在执行的代码。

我也是编程的初学者,如果你不能说,那么任何进一步的建议或提示都会在我的编程冒险中受到高度赞赏。

谢谢,Nate

0 个答案:

没有答案