在我以为只是一个简单的子类的情况下,我似乎不太清楚这个问题。
此错误消息有意义吗?
'super.init' cannot be called outside of an initializer
或者,
SKPhoto被宣布为开放式,以下是超类的可用实例:
// MARK: - SKPhoto
open class SKPhoto: NSObject, SKPhotoProtocol {
open var underlyingImage: UIImage!
open var photoURL: String!
open var contentMode: UIViewContentMode = .scaleAspectFill
open var shouldCachePhotoURLImage: Bool = false
open var caption: String!
open var index: Int = 0
override init() {
super.init()
}
convenience init(image: UIImage) {
self.init()
underlyingImage = image
}
convenience init(url: String) {
self.init()
photoURL = url
}
convenience init(url: String, holder: UIImage?) {
self.init()
photoURL = url
underlyingImage = holder
}
我尴尬地不能解决这个问题!
最佳答案
SKPhoto类中似乎有一个问题。它没有打开其init方法,因此您不能在子类中覆盖它们;
https://github.com/suzuki-0000/SKPhotoBrowser/blob/swift3/SKPhotoBrowser/SKPhoto.swift
如果您确实要使用它,则应该分叉存储库并进行适当的更改,然后再使用它。
关于swift - Swift 3初始化-意外错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40366321/