我不断收到此错误:“无法找到成员行”。 这是我的代码:
import UIKit
import CoreData
class ListTableViewController: UITableViewController {
var myList: Array<AnyObject> = []
override func viewDidAppear(animated: Bool) {
let appDel:AppDelegate = UIApplication.sharedApplication().delegate as! AppDelegate
let context:NSManagedObjectContext = appDel.managedObjectContext!
let freq = NSFetchRequest(entityName: "List")
myList = context.executeFetchRequest(freq, error: nil)!
tableView.reloadData()
}
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject!) {
if segue.identifier == "update" {
//GETTING ERROR ON THIS NEXT LINE//
var selectedItem: NSManagedObject =
myList[self.tableView.indexPathForSelectedRow()?.row!] as! NSManagedObject
let IVC: ItemViewController =
segue.destinationViewController as! ItemViewController
IVC.item = selectedItem.valueForKey("item") as! String
IVC.quantity = selectedItem.valueForKey("quantity") as! String
IVC.info = selectedItem.valueForKey("info") as! String
IVC.existingItem = selectedItem
}
}
任何人都可以帮我摆脱这个错误。
答案 0 :(得分:0)
当您致电self.tableView.indexPathForSelectedRow()
时,您将返回NSIndexPath
个实例,而不是整数。然后,您需要询问NSIndexPath
的行。所以电话应该是self.tableView.indexPathForSelectedRow().row()
这当然假设您在表格视图中只有一个部分。
答案 1 :(得分:0)
试试这个:
var selectedItem = myList[self.tableView.indexPathForSelectedRow()!.row] as! NSManagedObject