今天我非常喜欢我的新手教程,在 Swift 中创建我自己的可以生成对象实例的类。我希望通过在这些知识的基础上开始使用 Apple 的 Cocoa Touch API 来变得更好。然而,在阅读诸如 UIViewController、UIResponder 和 UITouch 之类的类引用时,我注意到这些类没有生成实例的 init 函数。我认为这一切都是错误的,还是可以安全地假设这些类是要被子类化的?如果它们要被子类化,那么我是否需要编写自己的 init 函数才能生成实例并使用它?
一点背景知识,我正在考虑小型乐高积木,只要我遵守 Apple 的抽象配方(类参考文档)并放置所需的类型,如字符串、双精度数、整数等,我就可以在其中构建任何我想要的东西.在正确的地方使物体变得活跃。就苹果的对象而言,我是否正确地考虑了这一点?
这是我今天在教程中所做的一个示例,它有一个 init 函数,我可以在其中生成这种类型的对象,以及我考虑乐高积木的原因:
struct Location: Equatable {
let name: String
let coordinate: CLLocationCoordinate2D?
init(name: String, coordinate: CLLocationCoordinate2D? = nil) {
self.name = name
self.coordinate = coordinate
}
}
我阅读了 swift 编程指南并有了大致的了解。我想尽快开始享受 Cocoa Touch,因为它看起来令人兴奋。
我知道我是一个菜鸟,可能对一些不应该触摸键盘的白痴来说,所以提前感谢您的任何澄清。