草庐IT

override

全部标签

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 - 选择 TableView 单元格后将数据传回先前的 View Controller

在选择TableView单元格到前一个ViewController后,我无法传递数据。在选择一个TableView单元格后,我几乎试图从以前的ViewController更改标签。谁能帮我解决这个问题?我正在尝试在选择一个单元格后更改UITextField。UIViewController:classWhoToOdds:UIViewController,sendBack,UITextFieldDelegate{@IBOutletvarchosenContact:UITextField!@IBOutletvaroddsTextBox:UITextView!varfriend:String

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 - 快速更改键盘大小事件?

我通过以下方式知道keyboardWillShow和keyboardWillHide事件:overridepublicfuncviewWillAppear(animated:Bool){NSNotificationCenter.defaultCenter().addObserver(self,selector:"keyboardWillShow:",name:UIKeyboardWillShowNotification,object:nil)NSNotificationCenter.defaultCenter().addObserver(self,selector:"keyboardW

swift - 请求 GKStateMachine 的简单示例?

我一直在研究Apple的Swift状态机并找到了几个示例,但没有一个真正简单到死。有人可以在Swift中创建一个super简单的GKStateMachine,也许有两个状态,最好是全部在一个Swift文件中吗?谢谢! 最佳答案 这是在美国工作的交通信号灯状态机示例。交通灯从green->yellow->red->green移动。在应用程序中,您可能有didEnter(from:)例程更新屏幕上的图形,或允许其他Actor移动。importUIKitimportGameKitclassGreen:GKState{overridefun

macos - 在 Yosemite 之前,Swift 屏幕保护程序可以在 Mac OS X 中运行吗?

我将Xcode从Objective-C生成的屏幕保护程序模板重写到Swift中,当我尝试加载它时,我收到了这条消息:YoucannotusetheBlahBlahscreensaverwiththisversionofMacOSX.Pleasecontactthevendortogetanewversionofthescreensaver.我目前正在运营Mavericks。这是否意味着Swift屏幕保护程序只能在Yosemite中工作,或者甚至不能在Yosemite中工作?这是我用来替换Objetive-C代码的Swift代码:importFoundationimportScreenS

javax.net.ssl.SSLHandshakeException : Handshake failed on Android 5. 0.0 禁用 SSLv2 和 SSlv3(仅限 TLS)(及更高版本)

这是我的第一篇文章,我会尽力做到尽可能清楚(对不起我的英语)。这是我的麻烦,我正在使用retrofit:1.9.0和okhttp:2.7.5来执行API调用。一切都很好,直到我的服务器提供商禁用SLLv2和SSLv3导致安全问题(3月1日发现Drown失败)。现在我检查有关我的提供商的信息,他只允许来自https://www.ssllabs.com/的TLSv1withcypher(TLS1.0TLS_RSA_WITH_3DES_EDE_CBC_SHANoFS).好的,这是我完成的所有测试和结果:[更新问题已解决]在我的第二个答案中找到解决这个问题的方法。更新看来问题出在googleA

java - 为什么Java中没有@Implements注解?

我发现@Override注释在重写派生类中的一些父类(superclass)方法时非常有用。基本上,编译器及早检测到我程序中的缺陷,这总是一件好事。但是为什么Java中没有@Implements注解呢? 最佳答案 因为您还对接口(interface)定义的方法使用了@Override。(是的,您是在“实现”而不是“覆盖”……但是@Override用于两者) 关于java-为什么Java中没有@Implements注解?,我们在StackOverflow上找到一个类似的问题:

java - Android 中的@Override 注解

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