草庐IT

Super-Resolution

全部标签

ios - 更新到 Xcode 6.1 后 "Use of property ' nibName ' in base object before super.init initializes it"

我的iOS应用程序中有这段代码,是用Swift编写的:classAddHomeViewController:UITableViewController,UITextFieldDelegate{...requiredoverrideinit(nibNamenibNameOrNil:String?,bundlenibBundleOrNil:NSBundle?){super.init(nibName:nibName,bundle:nibBundle)}更新到Xcode6.1后,我在super.init(nibName:nibName,bundle:nibBundle)行收到这些错误。它之前工

swift - 父类(super class)上的通用便利 init() 受限于已初始化对象的子类?

是否可以在Swift3中编写初始化程序,以便将T限制为创建对象的类型?(它定义的类的子类)效果是//NotrealcodeextensionUIView{convenienceinit(style:(T)->Void...)whereT==self.dynamicType{self.init()forsinstyle{s(self)}}}...letv1=UIView(style:funcThatAppliesToUIView)letv2=UILabel(style:funcThatAppliesToUIView,funcThatAppliesToUILabel)

ios - 在不同的 swift 文件中覆盖父类(super class)的默认初始化程序

我在Vehicle.swift中写了类Vehicle并在Bicycle.swift中的另一个类Bicycle中继承了它。但是Xcode6.1报编译错误:initializerdoesnotoverrideadesignatedinitializerfromitssuperclass。车辆.swift:importFoundationpublicclassVehicle{varnumberOfWheels:Int?vardescription:String{return"\(numberOfWheels)wheel(s)"}}自行车.swift:importFoundationpubli

swift - 如何强制重写方法在 Swift 中调用 super?

我有一个具有一些功能的抽象ViewController。一些ViewController将扩展抽象Controller并覆盖一些功能。当任何ViewController覆盖它们时,我需要强制执行一些函数来调用super. 最佳答案 我建议您将公共(public)方法设为final并公开空internal在抽象类中不执行任何操作但在公共(public)类中调用的方法final方法。像这样:classAbstractViewController{internalfuncwillDoStuff(){}internalfuncdidDoSt

ios - 从父类(super class)调用由子类实现的协议(protocol)方法

我有多个继承自基本TableViewController类的TableViewController类,如下所示:classBasicTableViewController:UITableViewController{}classSpecificTableViewController:BasicTableViewController{}classAnotherSpecificTableViewController:BasicTableViewController{}然后我创建了一个非常简单的协议(protocol)来为特定的ViewController类添加刷新功能,如下所示:@objc

ios - 如何从具有协议(protocol)一致性的父类(super class)调用子类方法

我正在创建swiftUI组件,它将为UIView和UICollectionViewCell提供一些功能。我想让定制变得容易。(这里的代码当然是一种简化)在下面的代码中,我将在layoutSubview中做一些艰苦的工作(我必须为每个自定义类覆盖layoutSubviews因为在扩展中我们可以't覆盖类方法),然后使用默认实现调用add方法,如果需要,应该很容易更改其行为。问题是创建SubClassView实例正确调用CustomView.layoutSubviews但是在这个方法中SomeProtocol.add从扩展调用而不是SubClassView.add。我知道这是Swift设计

Swift 子类的 init 必须在调用 super 之前设置所有属性,但是属性需要 super 的 init 先完成

我正在尝试编写两个Swift类,一个是另一个的子类,需要采用父类(superclass)的一个属性并使用它来配置自身。classBaseClass{letsomeValue:Doubleletsize:CGSizeinit(size:CGSize){self.size=sizeself.someValue=size.width/2.0//Doesn'treallymatterhowthisiscalculated}}classSubclass:BaseClass{letsomeNewValue:Doubleoverrideinit(size:CGSize){super.init(siz

ios - 声明 'subscribe' 不能覆盖多个父类(super class)声明 (ReSwift)

我在覆盖ReSwiftPod中的函数时遇到问题。我有以下模拟类(class):importFoundationimportQuickimportNimbleimportRxSwift@testableimportMainProject@testableimportReSwiftclassMockReSwiftStore:ReSwift.Store{vardispatchDidRun:Bool=falsevarsubscribeWasTriggered:Bool=falseinit(){letreducer:Reducer={_,_inMainState()}super.init(red

swift - 必须 swift 调用父类(super class) NSManagedObject 的指定初始化程序

我收到编译器消息:必须调用父类(superclass)NSManagedObject的指定初始化程序(swift)//-------------------------------------classabc:NSManagedObject{init(x:String,y:String){super.init()//变量声明在分机xxxx{....}如何初始化这个父类(superclass)? 最佳答案 指定的初始化程序是init(entityentity:NSEntityDescription,insertIntoManagedO

ios - 错误 : Use of 'self' in property access 'texture' before super. init 初始化自身

我是swift的新手,我正在尝试通过以下方式学习swift创建一个简单的纸牌游戏。我从视频中输入了完全相同的代码。但是xcode显示错误“在super.init初始化self之前在属性访问‘texture’中使用‘self’”感谢您的帮助!importSpriteKitclassCard:SKSpriteNode{varrank:Intvarsuit:StringvarimageNameUp:StringvartextureUp:SKTexturevartextureDown:SKTextureinit(rank:Int,suit:String,faceUp:Bool){self.ra