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
}
相关推荐
咕噜签名分发冰淇淋3 分钟前
苹果ios的系统app应用WebClip免签应用开源及方式原理
ios·开源·cocoa
2501_915106323 小时前
App Store 软件上架全流程详解,iOS 应用发布步骤、uni-app 打包上传与审核要点完整指南
android·ios·小程序·https·uni-app·iphone·webview
开开心心loky3 小时前
[iOS] ViewController 的生命周期
macos·ui·ios·objective-c·cocoa
2501_916013749 小时前
App 上架全流程指南,iOS App 上架步骤、App Store 应用发布流程、uni-app 打包上传与审核要点详解
android·ios·小程序·https·uni-app·iphone·webview
牛蛙点点申请出战9 小时前
仿微信语音 WaveView 实现
android·前端·ios
TheLittleBoy10 小时前
iOS 26支持的设备列表
ios·ios 26
Magnetic_h10 小时前
【iOS】block复习
笔记·macos·ios·objective-c·cocoa
HarderCoder11 小时前
调试 Swift 并发:我到底在哪个 Actor?
swift
HarderCoder11 小时前
`@preconcurrency` 完全导读:让旧代码平安驶上 Swift 并发快车道
swift
2501_9159184119 小时前
Web 前端可视化开发工具对比 低代码平台、可视化搭建工具、前端可视化编辑器与在线可视化开发环境的实战分析
前端·低代码·ios·小程序·uni-app·编辑器·iphone