Swift报错:“‘nil‘ is incompatible with return type ‘User‘”

Swift 复制代码
func getUserById(userId: Int) -> User {
    if (userId != nil) {
        ...
    }
    return nil
}

上述代码报了一个错误:"'nil' is incompatible with return type 'User'",表示"nil"与返回类型"User"不兼容。

解决方案:

将返回值类型改为Optional类型User?

Swift 复制代码
func getUserById(userId: Int) -> User? {
    if (userId != nil) {
        ...
    }
    return nil
}

同理,如果调用getUserById(nil)的时候也会报错:"'nil' is not compatible with expected argument type 'Int'"

将参数类型改为Int?即可

Swift 复制代码
func getUserById(userId: Int?) -> User? {
    if (userId != nil) {
        ...
    }
    return nil
}
相关推荐
fundroid2 小时前
Swift 进军 Android,Kotlin 该如何应对?
android·ios
形影相吊5 小时前
iOS防截屏实战
ios
吴Wu涛涛涛涛涛Tao5 小时前
Flutter 弹窗解析:从系统 Dialog 到完全自定义
flutter·ios
kymjs张涛7 小时前
零一开源|前沿技术周报 #7
android·前端·ios
思考着亮9 小时前
15-错误处理
ios
思考着亮9 小时前
9.方法
ios
思考着亮10 小时前
6.结构体和类
ios
思考着亮10 小时前
7.闭包
ios
咕噜签名分发冰淇淋12 小时前
申请注册苹果iOS企业级开发者证书需要公司拥有什么规模条件
macos·ios·cocoa
2501_915918411 天前
Fiddler中文版全面评测:功能亮点、使用场景与中文网资源整合指南
android·ios·小程序·https·uni-app·iphone·webview