草庐IT

overriding

全部标签

objective-c - Swift 3.1 中的 `@discardableResult override init()` 抛出 `warn_unused_result` Objective-C 警告

我有一个桥接到Objective-C的Swift类。即使使用@discardableResult,它也会在Objective-C类的构建中抛出此警告:Ignoringreturnvalueoffunctiondeclaredwith'warn_unused_result'attribute有没有什么办法可以解决这个问题?这是在带有Swift3.1的Xcode8.3中。 最佳答案 转换为(void)应该消除警告:(void)[SingletonClasssharedInstance]; 关

ios - "Cannot override ' init ' which has been marked unavailable"防止覆盖空 init

我有一种情况,我试图重写NSError来为我提供一个我将要重复使用的错误实例。在我更新Xcode并转换为Swift2之前,我的代码一直有效。publicclassNAUnexpectedResponseTypeError:NSError{publicconvenienceinit(){letmessasge="TheobjectfetchedbyAFNetworkingwasnotofanexpectedtype."self.init(domain:"MyDomain",code:6782,userInfo:[NSLocalizedDescriptionKey:messasge])}}

Swift:为什么我不能从 override init 调用方法?

我有以下代码示例(来自PlayGround):classSerializable:NSObject{overrideinit(){}}classDevice:Serializable{varuuid:Stringoverrideinit(){println("init")self.uuid="XXX"self.uuid=Device.createUUID()println(self.uuid)}classfunccreateUUID()->String{return"XXX2"}}vardevice=Device()您可以注意到我将createUUID方法实现为静态的。但为什么我不能以

ios - 防止子类覆盖 Swift 中的继承函数

有没有办法防止子类覆盖Swift中继承的函数? 最佳答案 看看final关键字。根据文档,Youcanpreventamethod,property,orsubscriptfrombeingoverriddenbymarkingitasfinal.Dothisbywritingthefinalmodifierbeforethemethod,property,orsubscript’sintroducerkeyword(suchasfinalvar,finalfunc,finalclassfunc,andfinalsubscript)

java - 我应该如何为 Java 中的循环链表定义一个好的 hashCode?

我建立了一个循环链表数据结构,代表一个单词,列表中的每个元素都是这个单词的一个字母。在我的问题的底部是列表的类定义和列表的元素。列表数据结构的目的是能够比较循环词。所以..."picture"和"turepic"是同一个循环词,所以这两个列表是相等的。所以我覆盖了equals()比较两个列表时,我已经读过,每当您必须覆盖equals()时,您还必须覆盖hashCode().但是,我真的不知道如何做到这一点。我应该如何为我设置的内容定义一个好的hashCode?我应该考虑哪些事情?在“picture”和“turepic”的例子中,这两个列表是相等的,所以它们的hashCode需要相同。有

java - 覆盖接口(interface)的变量?

正如我从各种Java书籍和教程中读到的,在接口(interface)中声明的变量是常量,不能被覆盖。我写了一个简单的代码来测试一下interfaceA_INTERFACE{intvar=100;}classA_CLASSimplementsA_INTERFACE{intvar=99;//testvoidprintx(){System.out.println("var="+var);}}classhello{publicstaticvoidmain(String[]args){newA_CLASS().printx();}}然后打印出来变量=99var是否被覆盖?我完全糊涂了。感谢您的任

java - ArrayList 不使用重写的 equals

我在让ArrayList正确使用覆盖的equals时遇到问题。问题是我试图使用equals只测试单个键字段,并使用ArrayList.contains()来测试是否存在具有正确字段的对象。这是一个例子publicclassTestClass{privatestaticclassInnerClass{privatefinalStringtestKey;//dataandsuchInnerClass(StringtestKey,intdataStuff){this.testKey=testKey;//etc}@Overridepublicbooleanequals(Objectin){Sy

java - Android 中的@Override 注解

我是Java和Android编程的新手。我遇到的问题是,在浏览了几本书、论坛和网站之后,我并不清楚@override注释的作用。我知道这表示方法何时被过度使用。但为什么在android中需要它。我很少在java的源代码中看到它,但一直在android中看到它。 最佳答案 您可能很少在旧Java源代码中看到它,因为它是一项相当新的创新-而Android代码根据定义几乎是更新的。这是一个安全网,真的-它告诉编译器你正在尝试覆盖某些东西-所以如果方法没有覆盖任何东西,请失败,例如由于名称中的错字。这就像override是一个关键字,它是C

Java:强制子类覆盖父类(super class)的方法

我怎样才能写一个方法并强制子类覆盖这个方法。在Eclipse中,它应该显示在快速修复对话框中:“添加未实现的方法”。谢谢 最佳答案 HowcanIwriteamethodandforcethesubclassestooverridethismethod.将方法声明为抽象:Eclipse将为所有(未实现的)抽象方法和接口(interface)方法提供“添加未实现的方法”选项。 关于Java:强制子类覆盖父类(superclass)的方法,我们在StackOverflow上找到一个类似的问题

java - 为什么Eclipse不在 "Generate Delegate Methods"重构中添加@Override注解?

在Eclipse中,如果我尝试将“生成委托(delegate)方法”重构应用于Java类,如下所示:classFooimplementsBar{Barbar;}Eclipse不会为生成的方法生成@Override注释。这是错误还是有充分的理由? 最佳答案 这没有回答您为什么在生成委托(delegate)方法时不添加@Override注释的问题,但是您可以添加一个保存操作来在保存文件时为您执行此操作.前往Window->Preferences->Java->Editor->SaveActions请注意Additionalactions