Woo*_*ock 36 initialization subclass nsobject ios swift
这是一个示例类的布局,有人可以指导我在创建NSObject的子类时的最佳实践吗?
class MyClass: NSObject {
var someProperty: NSString! = nil
override init() {
self.someProperty = "John"
super.init()
}
init(fromString string: NSString) {
self.someProperty = string
super.init()
}
}
Run Code Online (Sandbox Code Playgroud)
这是正确的,我在这里遵循最佳做法吗?
我想知道我是否正确设置了初始化器(一个将字符串设置为默认值,一个我可以传入一个字符串)?
我应该super.init()在每个初始化器的末尾调用吗?
我的更具体(带字符串的那个)初始化器是否应该self.init()在最后调用而不是super.init()?
在子类化时,在Swift中设置初始值设定项的正确方法是什么NSObject? - 我该如何调用super init?
这个问题(尽管在目标C中)建议你应该有一个init,你总是调用它,只需在更具体的内容中设置属性:Objective-C Multiple Initialisers
Max*_*tin 54
我不是斯威夫特忍者,但我会写作MyClass:
class MyClass: NSObject {
var someProperty: NSString // no need (!). It will be initialised from controller
init(fromString string: NSString) {
self.someProperty = string
super.init()
}
convenience override init() {
self.init(fromString:"John") // calls above mentioned controller with default name
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
35776 次 |
| 最近记录: |