【问题标题】:How to set CustomTableView immediately (CoreData)如何立即设置CustomTableView(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
    }

}

【问题讨论】:

    标签: ios swift uitableview core-data


    【解决方案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
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-04-03
      • 2012-02-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-02-19
      相关资源
      最近更新 更多