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
}
相关推荐
名字不要太长 像我这样就好5 小时前
【iOS】OC源码阅读——alloc源码分析
笔记·学习·macos·ios·objective-c
zhishishe10 小时前
如何在 iPhone 上恢复已删除的联系人:简短指南
ios·智能手机·iphone
艾小逗10 小时前
uniapp中检查版本,提示升级app,安卓下载apk,ios跳转应用商店
android·ios·uni-app·app升级
zhishishe10 小时前
如何修复卡在恢复模式下的 iPhone:简短指南
windows·macos·ios·objective-c·cocoa·iphone
桃花仙丶10 小时前
iOS/Flutter混合开发之PlatformView配置与使用
flutter·ios·xcode·swift·dart
依旧风轻15 小时前
使用 DoH 查询域名 —— 以 core.tantanapp.com 为例的实战分析
ios·dns·cloudflare·doh·sqi
只可远观15 小时前
Mac搭建Flutter IOS环境详细指南
前端·flutter·macos·ios
一牛16 小时前
译:Swift中的隔离机制介绍
macos·ios·swift
hepherd21 小时前
iOS - 音频: Core Audio - 播放
swift·音视频开发
画个大饼1 天前
深度对比:Objective-C与Swift的RunTime机制与底层原理
开发语言·objective-c·swift