草庐IT

super-jump

全部标签

ios - 如何使用其父类(super class)的实例初始化我的子类?

在我的应用程序中,我读取了EKEvent类型的日历事件,并且我使用大量计算变量进行了扩展,因此我可以轻松地获取日历中每个事件的持续时间、工时数等。但是在大规模情况下,性能很差-所以我想改用惰性变量来缓存我所有的额外数据。因此,我想创建一个EKEvent的子类-称为CustomEvent,它添加了惰性变量,但我的问题是EKEventStore总是返回EKEvents,我需要将其转换为我的CustomEvent子类的实例,以便能够访问惰性变量等。简单的类型转换是不够的,我已经在Playground上尝试过,看看有什么用,但没有任何用处。我需要一个CustomRectangle的特殊构造函数

ios - 在 super.init 初始化 self 之前在属性访问 'self' 中使用 'frame'

我有这个代码importUIKitclassCardView:UIView{@IBOutletvarimageView:UIImageView!init(imageView:UIImageView){self.imageView=imageViewsuper.init(frame:CGRect(x:0,y:0,width:self.frame.size.width,height:self.frame.size.height))}requiredinit?(coderaDecoder:NSCoder){fatalError("init(coder:)hasnotbeenimplement

swift - 当子类中有覆盖函数时如何转换为父类(super class)

创建了父类(superclass)Car和子类Jaguar。子类中的函数info()->Void覆盖了父类(superclass)的函数。已创建类型为Jaguar的名为theAuto的实例。问题:似乎我无法将theAuto转换为Car类型,请查看代码片段及其注释classCar{funcinfo(){print("You'vegotacar")}}classJaguar:Car{overridefuncinfo(){print("You'vegotaJaguar")}}lettheAuto=Jaguar()theAuto.info()//-->You'vegotaJaguarletau

ios - 在两个嵌套子类中调用 super.viewDidLoad() 时,我遇到了 Swift 的无限循环

我正在开发一个用Swift编写的iOS应用程序。我有一个UITabBarController的子类,然后是一个嵌套的子类:classHWTabBarController:UITabBarController{overridefuncviewDidLoad(){super.viewDidLoad()...}}classMainTabBarController:HWTabBarController{overridefuncviewDidLoad(){super.viewDidLoad()...}}这在iOS模拟器中运行良好,甚至当我在iPhone上调试应用程序时也是如此。但是当我存档应用程

ios - Swift 类 : Property not initialized at super. init 调用中的错误 - 如何初始化需要在其初始化参数中使用 self 的属性

我正在快速覆盖UITableViewController,其中我有两个必需的变量,它们是通过使用self的weak引用初始化的,因为这些用于实现UITableViewDataSource协议(protocol),需要self引用才能使用其tableView属性classVideosListViewController:UITableViewController{requiredinit(coderaDecoder:NSCoder){super.init(coder:aDecoder)self.datasourceOfflineVideos=ASDataSource(tableViewC

ios - 具有父类(super class)和子类的 Swift 协议(protocol)扩展方法分派(dispatch)

我发现了一个有趣的行为,它看起来像是一个错误......基于以下文章描述的行为:https://medium.com/ios-os-x-development/swift-protocol-extension-method-dispatch-6a6bf270ba94http://nomothetis.svbtle.com/the-ghost-of-swift-bugs-future当我添加SomeSuperclass而不是直接采用协议(protocol)时,输出不是我所期望的。protocolTheProtocol{funcmethod1()}extensionTheProtocol{

java - 为什么谓词 <? super SomeClass> 不适用于对象?

假设我们有一个声明为Predicate的谓词.我会天真地期望它适用于SomeClass的任何父类(superclass)在层次结构中向上,包括Object.但是这个谓词不适用于Object.我收到以下错误:Themethodtest(capture#3-of?superSomeClass)inthetypePredicateisnotapplicableforthearguments(Object)Demo.为什么是Predicate不适用于Object的实例?代码:importjava.util.*;importjava.lang.*;importjava.io.*;importja

java - 使用子类的静态成员类参数化父类(super class)

有没有办法用子类的静态成员类参数化父类(superclass)?人为的例子ExampleSuperClass.java:packagefoo;publicclassExampleSuperClass{protectedTfield;publicExampleSuperClass(Tfield){this.field=field;}publicTgetField(){returnfield;}}ExampleSubClass.java:packagefoo;publicclassExampleSubClassextendsExampleSuperClass{staticclassMemb

java - 自动调用父类(super class)方法

考虑下面的类classA{publicvoidinit(){//dothisfirst;}publicvoidatEnd(){//dothisafterinitofbaseclassends}}classB1extendsA{@Overridepublicvoidinit(){super.init();//donewstuff.//IdonotwanttocallatEnd()methodhere...}}我有几个已经开发的B1、B2、...Bn子类。它们都扩展了A类。如果我想在所有这些中添加一个新功能,最好的地方是在A类中的一个方法中定义它。但条件是该方法应该总是在之前自动调用子类的

java - 在 Java 泛型中,List<? super String> 是什么意思?

谁能解释一下这两者是如何编译的以及它是如何工作的?Listlist=newArrayList();据我了解,此实现需要是一个字符串列表或一个以字符串作为父类(superclass)的对象列表?我错过了什么吗? 最佳答案 不(即是的,您错过了一些东西:-)。是String的父类(superclass)的任何类(包括String本身)。(在这种情况下,唯一合适的类是Object。)您描述的是(在这种特定情况下,这不是很有用,因为String是final,所以它不能有子类)。 关于java-在