【问题标题】:CoreData Object is nilCoreData 对象为零
【发布时间】:2015-04-30 13:51:30
【问题描述】:

我在我的应用程序中使用 CoreData 将数据加载到 UITableView 中。如果我运行此代码 sn-p 应用程序崩溃:

let context = self.fetchedResultsController.managedObjectContext
let entity = self.fetchedResultsController.fetchRequest.entity!
let newManagedObject = NSEntityDescription.insertNewObjectForEntityForName(entity.name!, inManagedObjectContext: context) as NSManagedObject
newManagedObject.setValue("Test String", forKey: "markedCell")

这是我用来将数据加载到 tableView 中的部分:

let context = self.fetchedResultsController.managedObjectContext
let object = self.fetchedResultsController.objectAtIndexPath(indexPath) as NSManagedObject
var taskString:NSString
taskString = object.valueForKey("name") as String
cell.textLabel!.text = object.valueForKey("name") as? String

var request:NSFetchRequest = NSFetchRequest(entityName: "Person")
    request.predicate = NSPredicate(format:"markedCell = %@", taskString)
    var results : [NSManagedObject] = context.executeFetchRequest(request, error: nil) as [NSManagedObject]
    if (results.count > 0) {
        //Element exists
        cell.accessoryType = UITableViewCellAccessoryType.DisclosureIndicator
    }
    else {
        //Doesn't exist
        cell.accessoryType = UITableViewCellAccessoryType.None
    }

崩溃线:taskString = object.valueForKey("name") as String 错误信息:fatal error: unexpectedly found nil while unwrapping an Optional value

如果我使用上面截取的第一个代码,我就会遇到这个崩溃。如果我不使用此代码,应用程序运行良好。我真的不知道它为什么会崩溃/某个值是nil

希望你能帮助我。感谢您的回答!

【问题讨论】:

    标签: ios swift core-data ios8 xcode6


    【解决方案1】:

    将 var taskString: NSString 替换为

    if let taskString = object.valueForKey("name") as? String {
        cell.textLabel!.text = taskString
        // rest of your code
    }
    

    此外,您的应用程序崩溃是因为 object.valueForKey("name") 不是字符串,即没有返回值。

    https://developer.apple.com/library/ios/documentation/Swift/Conceptual/Swift_Programming_Language/TheBasics.html

    【讨论】:

      猜你喜欢
      • 2012-05-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多