草庐IT

Inheritance

全部标签

c# - 依赖注入(inject)的 Xamarin iOS Controller 自定义继承问题

我在使用从基类继承的Controller时出现故障。我的基地看起来像:publicabstractclassBaseUIViewController:UIViewController{publicBaseUIViewController():base(){}publicBaseUIViewController(..):base(..){}}我的Controller继承自它并定义了一个构造函数,如下所示:publicclassMyController:BaseUIViewController{publicMyController(ISOmeServiceservice,IOtherSer

Swift 泛型复杂的继承

以下Swift代码无法编译:classEntity{}classEntityConverter{}classGetEntityServerAction>{}classGetEntityListServerAction>:GetEntityServerAction{}错误:Type'C'doesnotinheritfrom'EntityConverter'用于GetEntityListServerAction类定义。由于某些原因,编译器看不到C参数的定义就像继承它想要的完全相同的类型。对于那些习惯了Java或C#中复杂的通用层次结构的人来说,代码应该看起来相当简单,但Swift编译器确实

ios - 继承 Objective-C 基类的 Swift 类未强制转换为正确的类型

使用Xcode7swift2我一直在研究在SwiftUIViewController中继承ObjectiveC基类。我已经正确添加了我的桥接头文件,它是我项目build设置的正确部分:在我的SCS-Bridging-Header.h文件中,我有以下代码:#import"UIViewControllerPlus.h"然后我尝试在Swift类中继承ObjectiveC类UIViewControllerPlus:importUIKitclassTestBasicTabBarSegueViewController:UIViewControllerPlus{overridefuncviewDid

ios - 无法从基 UIViewController 类继承属性

我是iOS开发的新手,这可能是一个简单的问题。我的应用程序将有许多共享相似属性的ViewController。我创建了一个基本ViewController类,它是UIViewController的子类。所有其他ViewController都是基础ViewController的子类。但是,我在基本ViewController类中设置的属性不会被继承。例如,导航栏按钮应该都是绿色的,但在我构建应用程序时却是默认的蓝色。这是基本的ViewController类:classBaseViewController:UIViewController{overridefuncviewDidLoad()

swift - 类扩展 SKScene 但无法访问其属性

我有一个扩展SKScene的菜单类,但我无法访问View,这是SKScene的一个属性。相反,我收到以下错误:“实例成员‘view’不能用于菜​​单类型。”我需要做什么特别的事情才能访问它吗?看起来它应该已经可以调用它了。这是该类的简化版本:classMenu:SKScene{varblueButton:Button!vartouchNode:SKSpriteNode!varnewScene:SKScene?overridefuncdidMove(toview:SKView){blueButton=self.childNode(withName:"Start")as!Button}..

ios - 父子关系混淆引用语义(swift)

我刚刚在swift中做了一些继承实验,这是我的代码:classparent{varvalue:Int?}classchild1:parent{funcsetParent(){value?=213}}classchild2:parent{funcsetParent(){value?=234}}leta=child1()letb=child2()a.setParent()print(b.value)//nilprint(a.value)//nil我设置了一个parent类,它只有一个value属性,我有一个child1和child2继承自父级。在引用语义下,如果我将value属性设置为一个

swift - 为什么 Swift 的类和结构是这样设置的?

在Swift中,类具有继承性,而结构则没有。同时,类实例存在于堆中,而结构实例存在于栈中。这意味着只允许四种可能性中的两种:您可以拥有支持继承且位于堆中的事物,或者您可以拥有不支持继承且位于堆栈中的事物。您不能拥有支持继承并且存在于堆栈中的事物,您也不能够拥有不支持继承并且存在于堆中的事物。这是为什么?是什么让后两种可能性不受欢迎?再来一次,为什么结构有一个免费的初始值设定项,而类却没有? 最佳答案 这是关于值类型与引用类型的合理设计。Class作为一个reference-type,它的继承对应于identity。而作为值类型的St

ios - SWIFT 如何创建一个 NSCoding 子类并从另一个类调用它?

我在NSCoding上发现了这段黑色代码,它几乎就是我想要的。我找到它的链接在下面。如何在其他类中创建NSCoding类和用户?下面的代码无效。我希望有人可以帮助我解决这个问题。importFoundationimportUIKitclassUser:NSObject,NSCoding{varname:Stringinit(name:String){self.name=name}requiredinit(coderaDecoder:NSCoder){self.name=aDecoder.decodeObjectForKey("name")asString}funcencodeWithC

Swift:将类型 T 的数组传递给采用 T 协议(protocol)数组的方法

我正在尝试编写一个类,该类具有符合MyProto的对象数组,并且我有一个方法可以接受[MyProto]以进行各种处理,然后再进行处理添加到该数组。这是一个Playground。protocolMyProto{funcsayHello()}extensionMyProto{funcsayHello(){print("hello")}}structMyStruct:MyProto{}classMyClass{varprotos:[MyProto]=[]funcdoSomethingAndThenStore(newProtos:[MyProto]){forprotoinnewProtos{p

Swift 无法覆盖子类中的变量

我正在使用Swift开发一个macOS项目,在我创建的几个类中重写变量时遇到了很多麻烦。在classTwo中,Xcode在线上显示错误Cannotoverridewithastoredproperty'texture';overridevartexture:SKTexture?这是我正在使用的部分代码。publicclassclassOne:SKSpriteNode{requiredpublicinit?(coderaDecoder:NSCoder){fatalError("init(coder:)hasnotbeenimplemented")}//Otherfunctions}还有第