xcode / swift错误:找不到成员“row”

时间:2015-07-16 18:49:08

标签: xcode swift core-data

我不断收到此错误:“无法找到成员行”。 这是我的代码:

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
    }
}

任何人都可以帮我摆脱这个错误。

2 个答案:

答案 0 :(得分:0)

当您致电self.tableView.indexPathForSelectedRow()时,您将返回NSIndexPath个实例,而不是整数。然后,您需要询问NSIndexPath的行。所以电话应该是self.tableView.indexPathForSelectedRow().row()

这当然假设您在表格视图中只有一个部分。

答案 1 :(得分:0)

试试这个:

var selectedItem = myList[self.tableView.indexPathForSelectedRow()!.row] as! NSManagedObject