练习 / swift

Swift练习

Swift的全部练习都来自可随时对照的主题。

68项练习 离线运行
swift 测验 新题 关于ARC的作用范围,哪项说法准确? Swift ARC管理类实例的生命周期;理解强、弱与无主引用,定位对象图和闭包中的强引用循环。 入门 1分钟 · 来自自动引用计数 swift 测验 新题 缓存中的子对象可能比父对象活得更久,而且调用方能处理父对象缺失。哪种声明最适合这个回指? Swift ARC管理类实例的生命周期;理解强、弱与无主引用,定位对象图和闭包中的强引用循环。 进阶 1分钟 · 来自自动引用计数 swift 预测输出 新题 这段程序会输出什么? Swift ARC管理类实例的生命周期;理解强、弱与无主引用,定位对象图和闭包中的强引用循环。 入门 2分钟 · 来自自动引用计数 swift 预测输出 新题 这段程序会输出哪两个布尔值? Swift ARC管理类实例的生命周期;理解强、弱与无主引用,定位对象图和闭包中的强引用循环。 进阶 2分钟 · 来自自动引用计数 swift 审查AI代码 新题 审查生成的仪表板绑定 Swift ARC管理类实例的生命周期;理解强、弱与无主引用,定位对象图和闭包中的强引用循环。 高级 6分钟 · 来自自动引用计数 swift 找出bug 新题 找出对象循环引用里的bug Swift ARC管理类实例的生命周期;理解强、弱与无主引用,定位对象图和闭包中的强引用循环。 进阶 4分钟 · 来自自动引用计数 swift 测验 新题 关于 @escaping,哪项说法准确? 理解Swift闭包的函数类型、值捕获、逃逸规则、捕获列表与自动闭包,并写出生命周期和并发语义明确的回调。 入门 1分钟 · 来自闭包 swift 预测输出 新题 这段程序会输出什么? 理解Swift闭包的函数类型、值捕获、逃逸规则、捕获列表与自动闭包,并写出生命周期和并发语义明确的回调。 进阶 2分钟 · 来自闭包 swift 审查AI代码 新题 审查生成的搜索处理器 理解Swift闭包的函数类型、值捕获、逃逸规则、捕获列表与自动闭包,并写出生命周期和并发语义明确的回调。 高级 6分钟 · 来自闭包 swift 找出bug 新题 找出JobQueue里的bug 理解Swift闭包的函数类型、值捕获、逃逸规则、捕获列表与自动闭包,并写出生命周期和并发语义明确的回调。 进阶 4分钟 · 来自闭包 swift 测验 新题 在for index in 0..<3中追加三个闭包,并在循环后调用。哪项捕获说明正确? 理解Swift闭包的函数类型、值捕获、逃逸规则、捕获列表与自动闭包,并写出生命周期和并发语义明确的回调。 进阶 1分钟 · 来自闭包 swift 测验 新题 一个传输模型只读取服务端响应,而且绝不能输出。哪种一致性最准确地表达这个契约? 用Swift的类型系统定义可编码数据,掌握自动合成、自定义键映射、缺失值策略与可定位的解码错误。 入门 1分钟 · 来自Codable swift 测验 新题 哪组调用能保留“键缺失”与“JSON显式null”之间的区别? 用Swift的类型系统定义可编码数据,掌握自动合成、自定义键映射、缺失值策略与可定位的解码错误。 进阶 1分钟 · 来自Codable swift 预测输出 新题 这段程序会输出什么? 用Swift的类型系统定义可编码数据,掌握自动合成、自定义键映射、缺失值策略与可定位的解码错误。 进阶 2分钟 · 来自Codable swift 审查AI代码 新题 审查生成的订单解码器 用Swift的类型系统定义可编码数据,掌握自动合成、自定义键映射、缺失值策略与可定位的解码错误。 高级 6分钟 · 来自Codable swift 找出bug 新题 找出Event解码器里的bug 用Swift的类型系统定义可编码数据,掌握自动合成、自定义键映射、缺失值策略与可定位的解码错误。 进阶 4分钟 · 来自Codable swift 测验 新题 哪种模型能在每个失败值中保存不同的服务端消息? 用Swift枚举表示有限状态,并通过穷尽的模式匹配安全地提取关联值、筛选分支和处理类型演进。 入门 1分钟 · 来自枚举与模式匹配 swift 测验 新题 什么情况下应优先使用 @unknown default,而不是普通default? 用Swift枚举表示有限状态,并通过穷尽的模式匹配安全地提取关联值、筛选分支和处理类型演进。 高级 1分钟 · 来自枚举与模式匹配 swift 预测输出 新题 这段程序会输出什么? 用Swift枚举表示有限状态,并通过穷尽的模式匹配安全地提取关联值、筛选分支和处理类型演进。 入门 2分钟 · 来自枚举与模式匹配 swift 审查AI代码 新题 审查生成的订单状态更新 用Swift枚举表示有限状态,并通过穷尽的模式匹配安全地提取关联值、筛选分支和处理类型演进。 高级 6分钟 · 来自枚举与模式匹配 swift 找出bug 新题 找出 .copying分支里的bug 用Swift枚举表示有限状态,并通过穷尽的模式匹配安全地提取关联值、筛选分支和处理类型演进。 进阶 4分钟 · 来自枚举与模式匹配 swift 测验 新题 什么情况下使用try? 最能准确表达API语义? 用Error、throw、do-catch、类型化throws与Result表达可恢复失败,并在正确的边界保留错误信息。 入门 1分钟 · 来自错误处理 swift 测验 新题 函数声明中的throws(ParseError) 增加了什么保证? 用Error、throw、do-catch、类型化throws与Result表达可恢复失败,并在正确的边界保留错误信息。 进阶 1分钟 · 来自错误处理 swift 预测输出 新题 这段程序会输出什么? 用Error、throw、do-catch、类型化throws与Result表达可恢复失败,并在正确的边界保留错误信息。 入门 2分钟 · 来自错误处理 swift 审查AI代码 新题 审查生成的订单导入器 用Error、throw、do-catch、类型化throws与Result表达可恢复失败,并在正确的边界保留错误信息。 高级 6分钟 · 来自错误处理 swift 找出bug 新题 找出资料回退里的bug 用Error、throw、do-catch、类型化throws与Result表达可恢复失败,并在正确的边界保留错误信息。 进阶 4分钟 · 来自错误处理 swift 测验 新题 Swift扩展可以合法添加哪种声明? 用Swift扩展为现有类型添加计算属性、方法与协议遵循,并避开静态分派、命名冲突和追溯遵循陷阱。 入门 1分钟 · 来自扩展 swift 预测输出 新题 这段程序会输出什么? 用Swift扩展为现有类型添加计算属性、方法与协议遵循,并避开静态分派、命名冲突和追溯遵循陷阱。 进阶 2分钟 · 来自扩展 swift 测验 新题 Swift协议遵循上的 @retroactive表示什么? 用Swift扩展为现有类型添加计算属性、方法与协议遵循,并避开静态分派、命名冲突和追溯遵循陷阱。 高级 1分钟 · 来自扩展 swift 审查AI代码 新题 审查生成的客户扩展 用Swift扩展为现有类型添加计算属性、方法与协议遵循,并避开静态分派、命名冲突和追溯遵循陷阱。 高级 6分钟 · 来自扩展 swift 找出bug 新题 找出安全下标里的bug 用Swift扩展为现有类型添加计算属性、方法与协议遵循,并避开静态分派、命名冲突和追溯遵循陷阱。 进阶 4分钟 · 来自扩展 swift 测验 新题 关于var retryCount = 0,哪项说法正确? 通过可运行程序掌握Swift的静态类型、不可变与可变绑定、安全转换、控制流、函数、集合和值语义。 入门 1分钟 · 来自Swift基础 swift 测验 新题 为什么Swift不允许对String使用text[0]? 通过可运行程序掌握Swift的静态类型、不可变与可变绑定、安全转换、控制流、函数、集合和值语义。 入门 1分钟 · 来自Swift基础 swift 预测输出 新题 这段程序会输出什么? 通过可运行程序掌握Swift的静态类型、不可变与可变绑定、安全转换、控制流、函数、集合和值语义。 入门 2分钟 · 来自Swift基础 swift 审查AI代码 新题 审查生成的签到汇总 通过可运行程序掌握Swift的静态类型、不可变与可变绑定、安全转换、控制流、函数、集合和值语义。 高级 6分钟 · 来自Swift基础 swift 找出bug 新题 找出地区查询里的bug 通过可运行程序掌握Swift的静态类型、不可变与可变绑定、安全转换、控制流、函数、集合和值语义。 进阶 4分钟 · 来自Swift基础 swift 预测输出 新题 这段程序会输出什么? 用类型参数、约束、where子句与关联类型表达可复用的Swift代码,同时保留编译期类型关系。 入门 2分钟 · 来自泛型 swift 测验 新题 `protocol Catalog<Item>`中的`Item`表示什么? 用类型参数、约束、where子句与关联类型表达可复用的Swift代码,同时保留编译期类型关系。 进阶 1分钟 · 来自泛型 swift 审查AI代码 新题 审查生成的泛型存储 用类型参数、约束、where子句与关联类型表达可复用的Swift代码,同时保留编译期类型关系。 高级 6分钟 · 来自泛型 swift 测验 新题 `where Left.Element == Right.Element`要求什么? 用类型参数、约束、where子句与关联类型表达可复用的Swift代码,同时保留编译期类型关系。 进阶 1分钟 · 来自泛型 swift 找出bug 新题 找出泛型最小值里的bug 用类型参数、约束、where子句与关联类型表达可复用的Swift代码,同时保留编译期类型关系。 入门 4分钟 · 来自泛型 swift 测验 新题 为什么input.flatMap { Int($0) } 返回Int?,而不是Int??? 用类型系统表达值缺失,掌握可选绑定、可选链、空合并、转换与嵌套可选值,并保留业务状态的准确语义。 进阶 1分钟 · 来自可选类型 swift 测验 新题 关于Swift中的String?,哪项说法准确? 用类型系统表达值缺失,掌握可选绑定、可选链、空合并、转换与嵌套可选值,并保留业务状态的准确语义。 入门 1分钟 · 来自可选类型 swift 预测输出 新题 这些字典查询会依次输出哪三种状态? 用类型系统表达值缺失,掌握可选绑定、可选链、空合并、转换与嵌套可选值,并保留业务状态的准确语义。 进阶 2分钟 · 来自可选类型 swift 预测输出 新题 这段程序会输出什么? 用类型系统表达值缺失,掌握可选绑定、可选链、空合并、转换与嵌套可选值,并保留业务状态的准确语义。 入门 2分钟 · 来自可选类型 swift 审查AI代码 新题 审查生成的账户导入器 用类型系统表达值缺失,掌握可选绑定、可选链、空合并、转换与嵌套可选值,并保留业务状态的准确语义。 高级 8分钟 · 来自可选类型 swift 找出bug 新题 找出邮箱查询里的bug 用类型系统表达值缺失,掌握可选绑定、可选链、空合并、转换与嵌套可选值,并保留业务状态的准确语义。 进阶 4分钟 · 来自可选类型 swift 测验 新题 在Swift 6语言模式中,哪项说法正确? 理解Swift属性包装器如何合成存储、包装值与投影值,并正确处理初始化、复制、Codable和并发边界。 高级 1分钟 · 来自属性包装器 swift 预测输出 新题 这段程序会输出什么? 理解Swift属性包装器如何合成存储、包装值与投影值,并正确处理初始化、复制、Codable和并发边界。 入门 2分钟 · 来自属性包装器 swift 审查AI代码 新题 审查生成的JSON设置包装器 理解Swift属性包装器如何合成存储、包装值与投影值,并正确处理初始化、复制、Codable和并发边界。 高级 6分钟 · 来自属性包装器 swift 找出bug 新题 找出Atomic自增里的bug 理解Swift属性包装器如何合成存储、包装值与投影值,并正确处理初始化、复制、Codable和并发边界。 进阶 4分钟 · 来自属性包装器 swift 测验 新题 对于 @Rule var score: Int,哪项合成名称说明准确? 理解Swift属性包装器如何合成存储、包装值与投影值,并正确处理初始化、复制、Codable和并发边界。 入门 1分钟 · 来自属性包装器 swift 测验 新题 哪个边界适合在同一数组中保存Circle与Rectangle,同时只公开Shape要求? 用协议定义能力边界,理解要求、遵循、默认实现、关联类型,以及some与any表达的不同类型关系。 入门 1分钟 · 来自协议 swift 预测输出 新题 这段程序会输出什么? 用协议定义能力边界,理解要求、遵循、默认实现、关联类型,以及some与any表达的不同类型关系。 进阶 2分钟 · 来自协议 swift 测验 新题 `var token: String { get }`要求遵循类型提供什么? 用协议定义能力边界,理解要求、遵循、默认实现、关联类型,以及some与any表达的不同类型关系。 入门 1分钟 · 来自协议 swift 审查AI代码 新题 审查生成的处理器注册表 用协议定义能力边界,理解要求、遵循、默认实现、关联类型,以及some与any表达的不同类型关系。 高级 6分钟 · 来自协议 swift 找出bug 新题 找出自增协议里的bug 用协议定义能力边界,理解要求、遵循、默认实现、关联类型,以及some与any表达的不同类型关系。 入门 4分钟 · 来自协议 swift 测验 新题 遵循`protocol Catalog<Item>`时,谁决定其中的`Item`? 用Swift协议声明能力,以泛型保留类型关系,并准确选择关联类型、some与any的抽象边界。 进阶 1分钟 · 来自协议约束与存在类型 swift 测验 新题 返回值由实现方选择一种隐藏的具体类型时,哪种形式最合适? 用Swift协议声明能力,以泛型保留类型关系,并准确选择关联类型、some与any的抽象边界。 进阶 1分钟 · 来自协议约束与存在类型 swift 测验 新题 容器中只有`sortedValues()`会比较元素。`Element: Comparable`通常应放在哪里? 用Swift协议声明能力,以泛型保留类型关系,并准确选择关联类型、some与any的抽象边界。 进阶 1分钟 · 来自协议约束与存在类型 swift 预测输出 新题 这段程序会输出什么? 用Swift协议声明能力,以泛型保留类型关系,并准确选择关联类型、some与any的抽象边界。 入门 2分钟 · 来自协议约束与存在类型 swift 审查AI代码 新题 审查生成的泛型注册表 用Swift协议声明能力,以泛型保留类型关系,并准确选择关联类型、some与any的抽象边界。 高级 6分钟 · 来自协议约束与存在类型 swift 找出bug 新题 找出协议标签里的bug 用Swift协议声明能力,以泛型保留类型关系,并准确选择关联类型、some与any的抽象边界。 进阶 4分钟 · 来自协议约束与存在类型 swift 测验 新题 当Session是含可变属性的类时,let session = Session() 保证什么? 用值语义、引用恒等性、初始化与写时复制,判断Swift模型应使用结构体还是类,并避开共享可变状态。 入门 1分钟 · 来自结构体与类 swift 测验 新题 公共库应如何对待结构体合成的成员初始化器? 用值语义、引用恒等性、初始化与写时复制,判断Swift模型应使用结构体还是类,并避开共享可变状态。 进阶 1分钟 · 来自结构体与类 swift 预测输出 新题 这段程序会输出什么? 用值语义、引用恒等性、初始化与写时复制,判断Swift模型应使用结构体还是类,并避开共享可变状态。 进阶 2分钟 · 来自结构体与类 swift 审查AI代码 新题 审查生成的发票副本 用值语义、引用恒等性、初始化与写时复制,判断Swift模型应使用结构体还是类,并避开共享可变状态。 高级 6分钟 · 来自结构体与类 swift 找出bug 新题 找出Counter绑定里的bug 用值语义、引用恒等性、初始化与写时复制,判断Swift模型应使用结构体还是类,并避开共享可变状态。 入门 4分钟 · 来自结构体与类