Core data 如何在非void函数中返回nil对象-swift 2.1?

Core data 如何在非void函数中返回nil对象-swift 2.1?,core-data,swift2,Core Data,Swift2,这是我的代码,它给了我一个错误 class Table_Users: NSManagedObject { class func getUserFromUserID(userID:String)->Table_Users { var user:Table_Users? = nil if let delegate = UIApplication.sharedApplication().delegate as? AppDelegate

这是我的代码,它给了我一个错误

class Table_Users: NSManagedObject {

    class func getUserFromUserID(userID:String)->Table_Users
    {
        var user:Table_Users? = nil

        if let delegate = UIApplication.sharedApplication().delegate as? AppDelegate
        {
            let moc = delegate.managedObjectContext


        }
        else
        {

        }
        return user
    }

}
它说我不能在非void函数中返回nil值

我还能还什么。或者我应该如何以另一种方式编写此函数

使用

return user!

这不是我的选择。因为我已经读到,若object的值为nil,它将崩溃。

将“?”与函数的返回类型一起使用

将“class func getUserFromUserID(userID:String)->表用户”替换为“class func getUserFromUserID(userID:String)->表用户?”

更新代码:

class Table_Users: NSManagedObject {

    class func getUserFromUserID(userID:String)->Table_Users?
    {
        var user:Table_Users? = nil

        if let delegate = UIApplication.sharedApplication().delegate as? AppDelegate
        {
            let moc = delegate.managedObjectContext


        }
        else
        {

        }
        return user
    }

}

将“”与函数的返回类型一起使用

将“class func getUserFromUserID(userID:String)->表用户”替换为“class func getUserFromUserID(userID:String)->表用户?”

更新代码:

class Table_Users: NSManagedObject {

    class func getUserFromUserID(userID:String)->Table_Users?
    {
        var user:Table_Users? = nil

        if let delegate = UIApplication.sharedApplication().delegate as? AppDelegate
        {
            let moc = delegate.managedObjectContext


        }
        else
        {

        }
        return user
    }

}

func getUserFromUserID(userID:String)->表用户?@swiftBUTCHER:是的,这就是我需要的。您可以添加一个答案,这样我就可以接受func getUserFromUserID(userID:String)->Table_Users?@swiftBUTCHER:是的,这就是我需要的。你可以添加一个答案,这样我就可以接受了