如何立即设置CustomTableView(CoreData)

Posted

技术标签:

【中文标题】如何立即设置CustomTableView(CoreData)【英文标题】:How to set CustomTableView immediately (CoreData) 【发布时间】:2015-12-28 08:32:43 【问题描述】:

我在ViewController 中有一个TextFieldButton 和一个TableView 我按Button -> 将文本导入数据并导出到TableView

但它不起作用

class ViewController: UIViewController, UITableViewDelegate, UITableViewDataSource 


    override func viewDidAppear(animated: Bool) 
        super.viewDidAppear(animated)
        myTableView.reloadData()
    



    @IBOutlet weak var txtClient: UITextField!



    @IBAction func butNhap(sender: AnyObject) 
        var newName = txtClient.text as String



        var myDelegate: AppDelegate = UIApplication.sharedApplication().delegate as! AppDelegate
        var myContext: NSManagedObjectContext = myDelegate.managedObjectContext!
        var myText: AnyObject = NSEntityDescription.insertNewObjectForEntityForName("Client", inManagedObjectContext: myContext)
        myText.setValue(newName, forKey: "name")
        txtClient.text = ""
    

    @IBOutlet weak var myTableView: UITableView!


    var exportArray = [String]()

    override func viewDidLoad() 
        super.viewDidLoad()

        self.myTableView.delegate = self
        self.myTableView.dataSource = self

        myTableView.registerClass(UITableViewCell.self, forCellReuseIdentifier: "myCell")

    

    func export() -> [String] 
        var myDelegate: AppDelegate = UIApplication.sharedApplication().delegate as! AppDelegate
        var myContext: NSManagedObjectContext = myDelegate.managedObjectContext!

        var exportName = NSFetchRequest(entityName: "Client")
        exportName.returnsObjectsAsFaults = false

        var exportValue = myContext.executeFetchRequest(exportName, error: nil)

        for result: AnyObject in exportValue! 

            exportArray.insert((result.valueForKey("name") as! String), atIndex: 0)
        
        return exportArray

    


    override func didReceiveMemoryWarning() 
        super.didReceiveMemoryWarning()

    

    func numberOfSectionsInTableView(tableView: UITableView) -> Int 
        return 1
    
    func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int 

        return 10
    


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

        let cell = tableView.dequeueReusableCellWithIdentifier("myCell", forIndexPath: indexPath) as! UITableViewCell

        cell.textLabel?.text = exportArray[indexPath.row]
        return cell
    


【问题讨论】:

【参考方案1】:

创建一个自定义 UITableviewcell 并为其命名和标识符,如“customtableCell”,然后在相应的视图控制器上注册该自定义单元格,

let nibName = UINib(nibName: "customtableCell", bundle:nil)
    tblConnect!.registerNib(nibName, forCellReuseIdentifier: "customtableCell")

在 cellForRowAtIndexPath 之后使用下面的代码,

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


    let identifier = "customtableCell"
    var tablecell: customtableCell!

    if (tablecell == nil) 
        tablecell  = tableView.dequeueReusableCellWithIdentifier(identifier) as? customtableCell
    

    return tablecell

【讨论】:

以上是关于如何立即设置CustomTableView(CoreData)的主要内容,如果未能解决你的问题,请参考以下文章

获取 customtableview 文本字段的 indexPath

CustomTableView 从不更新

将 customTableView 添加到未正确加载 json 数据的视图上

如何为 CustomTableView Cell 应用 layoutConstraints

如何在生产环境中在 Reactjs 中配置 COR

文件上传失败; 503 错误(加上 COR 错误)