gpt4 book ai didi

ios - UITouch 类缺少初始化函数

转载 作者:行者123 更新时间:2023-11-28 15:57:50 24 4
gpt4 key购买 nike

因为我非常喜欢今天关于在 Swift 中创建我自己的可以生成对象实例的类的新手教程。我希望通过在这些知识的基础上开始使用 Apple 的 Cocoa Touch API's 来变得更好。然而,在阅读 UIViewController、UIResponder 和 UITouch 等类引用时,我注意到这些类没有初始化函数来生成实例。我是不是认为这一切都是错误的,或者假设这些类应该被子类化是否安全?如果它们要被子类化,那么我是否需要编写自己的 init 函数来生成实例并使用它??

一些背景知识,我在考虑小乐高积木,只要我遵守 Apple 的抽象配方(类引用文档)并放置所需的类型,如字符串、 double 、整数等在正确的地方使对象活跃起来。我是否根据 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,因为它看起来很令人兴奋。

我知道我是一个菜鸟,可能对一些不应该触摸键盘的白痴来说,所以提前感谢您的任何澄清。

最佳答案

UIViewController 确实有几个 init 方法。

UITouch 这样的类没有任何 public init 方法,因为您不应该创建自己的实例。

UIViewController 这样的类应该被子类化。直接使用 UIViewController 的实例并不常见。

并且不要忘记,在 Swift 中,任何子类都会获得其父类的 init 方法,除非您显式添加自己的 init 方法。然后子类只有您显式添加的 init 方法。

关于ios - UITouch 类缺少初始化函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41475488/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com