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
}
相关推荐
2501_916008893 小时前
iOS 性能测试的深度实战方法 构建从底层指标到真实场景回放的多工具测试体系
android·ios·小程序·https·uni-app·iphone·webview
kk哥88993 小时前
iOS 26 适配指南:UIScrollView 新特性与最佳实践
macos·ios·cocoa
蒙小萌19934 小时前
Swift UIKit MVVM + RxSwift Development Rules
开发语言·prompt·swift·rxswift
iOS阿玮4 小时前
屁股坏了,我硬抗了3天,差不多省了几千块这件事儿。
ios
alloc9 小时前
Foundation Models Framework
ios
Antonio91512 小时前
【Swift】Swift基础语法:函数、闭包、枚举、结构体、类与属性
开发语言·swift
ajassi200012 小时前
开源 Objective-C IOS 应用开发(二十三).a静态库的封装和使用
ios·开源·objective-c
明远湖之鱼14 小时前
浅入理解流式SSR的性能收益与工作原理
前端·ios
白玉cfc14 小时前
【iOS】多线程基础
macos·ios
Antonio91514 小时前
【Swift】 Swift 基础语法:变量、类型、分支与循环
开发语言·swift