大佬教程收集整理的这篇文章主要介绍了ios,swift:多个表,单个viewcontroller,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
数据来自同一个实体,它只有不同的属性(这就是为什么我用playerFetchrequest创建了一个带参数的函数 – 以为我可以用diff参数做出不同的获取请求):
import UIKit import CoreData class CustomTableViewCell : UITableViewCell { @IBOutlet var l1: UILabel? @IBOutlet var l2: UILabel? func loadItem(#number: String,name: String) { l1!.text = number l2!.text = name } } class ViewController: UIViewController,UITableViewDelegate,NSFetchedResultsControllerDelegate,UITableViewDatasource { @IBOutlet var tableView: UITableView! //this is my second table - Ive connected it in the IB to this VC @IBOutlet var tableView2: UITableView! let managedObjectContext = (UIApplication.sharedApplication().delegate as AppDelegatE).managedObjectContext var fetchedResultController: NSFetchedResultsController = NSFetchedResultsController() func playerFetchrequest(playerType: String) -> NSFetchrequest { let fetchrequest = NSFetchrequest(entityName: "Players") let sortDescriptor = NSSortDescriptor(key: "number",ascending: truE) let filterForWARDs = NSPreDicate(format: "%K = %@","type",playerTypE) fetchrequest.sortDescriptors = [sortDescriptor] fetchrequest.preDicate = filterForWARDs return fetchrequest } func getFetchedResultController(playerType: String) -> NSFetchedResultsController { fetchedResultController = NSFetchedResultsController(fetchrequest: playerFetchrequest("ForWARD"),managedObjectContext:managedObjectContext!,sectionNameKeyPath: nil,cachename: nil) return fetchedResultController } //remember: to create a table with multiple sections just implement the numberOfSectionsInTableView(_:) method func tableView(tableView: UITableView,numberOfRowsInSection section: int) -> Int { if let numberOfRowsInSection = fetchedResultController.sections?[section].numberOfObjects {return numberOfRowsInSection} else {return 0} } func tableView(tableView: UITableView,cellForRowATindexPath indexPath: NSIndexPath) -> UITableViewCell { var cell:CustomTableViewCell = self.tableView.dequeueReusableCellWithIdentifier("customcatell") as CustomTableViewCell let player = fetchedResultController.objectATindexPath(indexPath) as DataModel cell.l2?.text = player.lastName + "," + player.firstName cell.l1?.text = player.number return cell } func tableView(tableView: UITableView!,didDeSELEctRowATindexPath indexPath: NSIndexPath!) { tableView.deSELEctRowATindexPath(indexPath,animated: truE) println("You SELEcted cell #\(indexPath.row)!") } override func viewDidLoad() { var nib = UINib(nibName: "CustomTableViewCell",bundle: nil) tableView.registerNib(nib,forCellReusEIDentifier: "customcatell") fetchedResultController = getFetchedResultController("ForWARD") fetchedResultController.delegate = self fetchedResultController.performFetch(nil) 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. } func controllerDidChangeContent(controller: NSFetchedResultsController!) { tableView.reloadData() } }
以上是大佬教程为你收集整理的ios,swift:多个表,单个viewcontroller全部内容,希望文章能够帮你解决ios,swift:多个表,单个viewcontroller所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。