“ UINavigationController?” 没有名为“ popToRootViewControllerAnimated”的成员

阿里夫

请帮助我找出我的代码出了什么问题。

@IBAction func done(sender: AnyObject) {

    let moc:NSManagedObjectContext = SwiftCoreDataHelper.managedObjectContext()

    let predicate:NSPredicate = NSPredicate(format: "identifier ==  
                                '\(contactIdentifierString)'")
    let results:NSArray = SwiftCoreDataHelper.fetchEntities(NSStringFromClass(Contact), withPredicate: predicate, managedObjectContext: moc)

    let contact:Contact = results.lastObject as Contact

    var toDoItem:ToDoItem = SwiftCoreDataHelper.insertManagedObject(NSStringFromClass(ToDoItem), managedObjectConect: moc) as ToDoItem

    toDoItem.identifier = "\(NSDate())"
    toDoItem.dueDate = datePicked
    toDoItem.note = titleTextField.text
    toDoItem.contact = contact

    SwiftCoreDataHelper.saveManagedObjectContext(moc)

    self.navigationController.popViewControllerAnimated(true)

}

func saveContext () {
    var error: NSError? = nil
    let managedObjectContext = self.managedObjectContext
    if managedObjectContext != nil {
// here is problem (-2/completed/ContactU/ContactU/AppDelegate.swift:54:33: 
// Cannot invoke '!=' with an argument list of type '(NSManagedObjectContext,  
//  NilLiteralConvertible)')
        if managedObjectContext.hasChanges && !managedObjectContext.save(&error) {
            // Replace this implementation with code to handle the error  
            // appropriately.
            // abort() causes the application to generate a crash log and  
            // terminate.  
           // You should not use this function in a shipping application,  
           // although it may be useful //during development.
            //println("Unresolved error \(error), \(error.userInfo)")
            abort()
        }
    }
}

// #pragma mark - Core Data stack

// Returns the managed object context for the application.
// If the context doesn't already exist, it is created and bound to  
//   the persistent store coordinator for the application.
var managedObjectContext: NSManagedObjectContext {
    if !(_managedObjectContext != nil) {
        let coordinator = persistentStoreCoordinator
        if coordinator != nil {
            _managedObjectContext = NSManagedObjectContext()
            _managedObjectContext!.persistentStoreCoordinator = coordinator
        }
    }
    return _managedObjectContext!
}
弗拉基米尔(Vladimir)

navigationViewController属性的类型不是UINavigationViewController,而是UINavigationViewController的可选属性,因此要对其进行调用,您应该使用可选链接

self.navigationController?.popViewControllerAnimated(true)

只有当navigationController值存在时(即不为nil),该方法才会被调用

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章