Swift编程:可失败初始化器、类扩展、读写计算属性与组合的深入解析
1. 可失败初始化器
在Swift编程中,初始化对象时可能会遇到传入无效数据的情况。例如,在 Time 类中,小时、分钟和秒的属性都有其有效的取值范围,如果传入超出范围的值,就会导致对象初始化出现问题。
为了解决这个问题,Swift引入了可失败初始化器。当调用可失败初始化器时,它会返回一个可选类型的对象。如果对象成功初始化,可选类型将包含该对象;否则,将返回 nil 。
以下是 Time 类使用可失败初始化器的代码示例:
// Fig. 8.5: Time.swift (TimeFailableInitializers.xcodeproj)
// Time class with failable initializers
public class Time {
// an hour value in the range 0-23
public var hour: Int = 0 {
didSet {
if hour < 0 || hour > 23 {
hour = oldValue
}
}
}
// a minute value in the range 0-59
public var minute: Int = 0 {
didSet {
超级会员免费看
订阅专栏 解锁全文
47

被折叠的 条评论
为什么被折叠?



