2015-04-30 5 views
-1

Я использую CoreData в своем приложении для загрузки данных в UITableView. Если я запускаю этот код сбои приложения:CoreData Object is nil

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 Error: fatal error: unexpectedly found nil while unwrapping an Optional value

Я просто получаю этот сбой, если я использую первый код, снятый выше. Если я не использую этот код, приложение работает нормально. Я действительно не знаю, почему это сбой/какое-то значение - nil.

Надеюсь, вы можете мне помочь. Спасибо за ваши ответы!

ответ

0

Заменить уаг taskString: NSString с

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

Кроме ваших сбоев приложений, потому что object.valueForKey («имя») не является строка т.е. нет возвращаемого значения.

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