如何立即设置CustomTableView(CoreData)
Posted
技术标签:
【中文标题】如何立即设置CustomTableView(CoreData)【英文标题】:How to set CustomTableView immediately (CoreData) 【发布时间】:2015-12-28 08:32:43 【问题描述】:我在ViewController
中有一个TextField
、Button
和一个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 添加到未正确加载 json 数据的视图上