草庐IT

ios - Swift, super.init() Must call a designated initializer of the superclass 'UIView' 错误

这个问题在这里已经有了答案:BuilderrorwhentryingtooverrideaninitializerinXcode6.3Beta3(3个答案)关闭7年前。我是Swift的新手。我继承了一个项目。我看到它在设备上运行。但是,当我检查代码时发现它有很多错误。我能够清除错误。但是,我遇到了这个让我感到困惑的问题。该项目也使用xib文件。这是代码。requiredinit(coderaDecoder:NSCoder){super.init(coder:aDecoder)}overrideinit(frame:CGRect){super.init(frame:frame)}init

ios Swift fatal error : use of unimplemented initializer 'init()'

我一直在努力尝试,在StackOverflow上查找了与此问题相关的所有类似问题,但都无济于事。classTimeLineTableViewController:UITableViewController,UIImagePickerControllerDelegate,UINavigationControllerDelegate{vartimelineData=[PFObject]()requiredinit(coderaDecoder:NSCoder){super.init(coder:aDecoder)}overridefuncviewDidLoad(){super.viewDid

ios Swift fatal error : use of unimplemented initializer 'init()'

我一直在努力尝试,在StackOverflow上查找了与此问题相关的所有类似问题,但都无济于事。classTimeLineTableViewController:UITableViewController,UIImagePickerControllerDelegate,UINavigationControllerDelegate{vartimelineData=[PFObject]()requiredinit(coderaDecoder:NSCoder){super.init(coder:aDecoder)}overridefuncviewDidLoad(){super.viewDid

swift - intrinsicContentSize() - 方法不会覆盖其父类(super class)中的任何方法

我更新到Xcode8beta5,现在在继承自UIView的类上出现以下错误:MethoddoesnotoverrideanymethodfromitssuperclassoverridepublicfuncintrinsicContentSize()->CGSize{...}有解决办法吗? 最佳答案 请查看thelatestreference.(您只需在Apple'sdevelopersite的搜索栏中输入“intrinsicContentSize”一词即可轻松找到它。)DeclarationvarintrinsicContentS

swift - intrinsicContentSize() - 方法不会覆盖其父类(super class)中的任何方法

我更新到Xcode8beta5,现在在继承自UIView的类上出现以下错误:MethoddoesnotoverrideanymethodfromitssuperclassoverridepublicfuncintrinsicContentSize()->CGSize{...}有解决办法吗? 最佳答案 请查看thelatestreference.(您只需在Apple'sdevelopersite的搜索栏中输入“intrinsicContentSize”一词即可轻松找到它。)DeclarationvarintrinsicContentS

Swift 等同于 __attribute((objc_requires_super))?

是否有Swift等同于__attribute((objc_requires_super))如果一个方法没有调用它的super方法,它会发出警告?基本上,如果被覆盖的方法没有调用它的super方法,我想发出警告(或者更好的是,抛出一个编译器错误)。 最佳答案 不,没有Swift等同于__attribute((objc_requires_super))。等效功能,SwiftAttributes,不包含此类属性。Swiftinheritancedocumentation的部分在会提到这样的功能的地方只说:Whenyouprovideame

Swift 等同于 __attribute((objc_requires_super))?

是否有Swift等同于__attribute((objc_requires_super))如果一个方法没有调用它的super方法,它会发出警告?基本上,如果被覆盖的方法没有调用它的super方法,我想发出警告(或者更好的是,抛出一个编译器错误)。 最佳答案 不,没有Swift等同于__attribute((objc_requires_super))。等效功能,SwiftAttributes,不包含此类属性。Swiftinheritancedocumentation的部分在会提到这样的功能的地方只说:Whenyouprovideame

Swift:在子类中覆盖 == 结果仅在父类(super class)中调用 ==

我有一个类(class)A,符合Equatable协议(protocol)和实现==功能。在子类中B我覆盖==进行更多检查。但是,当我比较B的两个实例数组时(两者的类型都是Array),==对于A被调用。当然,如果我将两个数组的类型都更改为Array,==对于B被调用。我想出了以下解决方案:A.swift:internalfunc==(lhs:A,rhs:A)->Bool{iflhsisB&&rhsisB{returnlhsas!B==rhsas!B}return...}这看起来真的很难看,必须为A的每个子类进行扩展.有没有办法确保==for子类首先被调用?

Swift:在子类中覆盖 == 结果仅在父类(super class)中调用 ==

我有一个类(class)A,符合Equatable协议(protocol)和实现==功能。在子类中B我覆盖==进行更多检查。但是,当我比较B的两个实例数组时(两者的类型都是Array),==对于A被调用。当然,如果我将两个数组的类型都更改为Array,==对于B被调用。我想出了以下解决方案:A.swift:internalfunc==(lhs:A,rhs:A)->Bool{iflhsisB&&rhsisB{returnlhsas!B==rhsas!B}return...}这看起来真的很难看,必须为A的每个子类进行扩展.有没有办法确保==for子类首先被调用?

ios - 调试父类(super class)或协议(protocol)扩展/实现时调试嵌入式框架未按预期工作

我编写了一个纯Swift框架,并将其嵌入到我的项目中。当我调试直接从我的应用程序使用的代码时,调试工作正常。例如,如果我使用一个方法在框架内编写一个Dog类,然后从我的应用程序中调用它,一切都很好。但是,如果我在继承自Animal的应用程序模块中编写一个像Animal这样的基类,然后编写一个Dog类,并且断点到达上的实现动物,它显示如下:如果Animal是一个协议(protocol)并且我在其中编写扩展或默认实现并从Dog的实例调用该方法,则会发生同样的情况。我已经检查过我确实在Debug模式下运行框架,没有优化,没有剥离符号,还使用了DWARF和dSYM。