草庐IT

member-functions

全部标签

virtual-functions - Swift 有动态调度和虚方法吗?

来自C++/Java/C#背景,我期待在Swift中看到虚方法,但是阅读swift文档时我没有看到虚方法的提及。我错过了什么?由于浏览量很大,我决定悬赏一个最新且非常清晰/详细的答案。 最佳答案 与C++不同,在Swift中没有必要指定一个方法是虚拟的。编译器将计算出使用以下哪一个:(性能指标当然取决于硬件)内联方法:0ns静态调度:虚拟调度1.1ns(如指定的Java、C#或C++)。动态调度4.9ns(类似于Objective-C)。Objective-C当然总是使用后者。4.9ns的开销通常不是问题,因为这只占整个方法执行时间

virtual-functions - Swift 有动态调度和虚方法吗?

来自C++/Java/C#背景,我期待在Swift中看到虚方法,但是阅读swift文档时我没有看到虚方法的提及。我错过了什么?由于浏览量很大,我决定悬赏一个最新且非常清晰/详细的答案。 最佳答案 与C++不同,在Swift中没有必要指定一个方法是虚拟的。编译器将计算出使用以下哪一个:(性能指标当然取决于硬件)内联方法:0ns静态调度:虚拟调度1.1ns(如指定的Java、C#或C++)。动态调度4.9ns(类似于Objective-C)。Objective-C当然总是使用后者。4.9ns的开销通常不是问题,因为这只占整个方法执行时间

ios - 惰性变量给出 'Instance member can not be used on type' 错误

我现在多次遇到此错误,并采取了不同的解决方法,但我真的很好奇为什么会发生这种情况。基本场景如下:classSomeClass{varcoreDataStuff=CoreDataStuff!lazyvarsomethingElse=SomethingElse(coreDataStuff:coreDataStuff)}所以我知道我不能在类完全初始化之前使用self,但在这种情况下,我正在使用self属性coreDataStuff来初始化一个惰性变量,这在我的实例准备好之前不会发生。任何人都可以解释我为什么会这样Instancemembercannotbeusedontype错误?

ios - 惰性变量给出 'Instance member can not be used on type' 错误

我现在多次遇到此错误,并采取了不同的解决方法,但我真的很好奇为什么会发生这种情况。基本场景如下:classSomeClass{varcoreDataStuff=CoreDataStuff!lazyvarsomethingElse=SomethingElse(coreDataStuff:coreDataStuff)}所以我知道我不能在类完全初始化之前使用self,但在这种情况下,我正在使用self属性coreDataStuff来初始化一个惰性变量,这在我的实例准备好之前不会发生。任何人都可以解释我为什么会这样Instancemembercannotbeusedontype错误?

swift 扩展 : same extension function in two Modules

假设我有一个名为SwiftKit的框架,它有一个名为someClassMethod的UIView扩展类方法和一个名为someProperty的属性://SwiftKitpublicextensionUIView{classfuncsomeClassMethod(){print("someClassMethodfromSwiftKit")}varsomeProperty:Double{print("somePropertyfromSwiftKit")return0}}我还有一个名为SwiftFoundation的框架,它还有一个名为someClassMethod的UIView扩展类方法和

swift 扩展 : same extension function in two Modules

假设我有一个名为SwiftKit的框架,它有一个名为someClassMethod的UIView扩展类方法和一个名为someProperty的属性://SwiftKitpublicextensionUIView{classfuncsomeClassMethod(){print("someClassMethodfromSwiftKit")}varsomeProperty:Double{print("somePropertyfromSwiftKit")return0}}我还有一个名为SwiftFoundation的框架,它还有一个名为someClassMethod的UIView扩展类方法和

ios - swift 3 准备(用于 segue : ) function broken?

这个问题在这里已经有了答案:prepare(forsegue:UIStoryboardSegue,sender:AnyObject?)missinginswift3.0/Xcode8b6(1个回答)关闭6年前。出于某些奇怪的原因,对于swift3,prepare(forsegue:方法拒绝确认segue标识符。我将以下IBAction连接到UI上的几个按钮:@IBActionfuncgoToImagesPicker(_sender:AnyObject){performSegue(withIdentifier:"showImagePicker",sender:sender)}@IBAct

ios - swift 3 准备(用于 segue : ) function broken?

这个问题在这里已经有了答案:prepare(forsegue:UIStoryboardSegue,sender:AnyObject?)missinginswift3.0/Xcode8b6(1个回答)关闭6年前。出于某些奇怪的原因,对于swift3,prepare(forsegue:方法拒绝确认segue标识符。我将以下IBAction连接到UI上的几个按钮:@IBActionfuncgoToImagesPicker(_sender:AnyObject){performSegue(withIdentifier:"showImagePicker",sender:sender)}@IBAct

ios - [NSObject : AnyObject] ?' does not have a member named ' subscript' error in Xcode 6 beta 6

当键盘显示在屏幕上时,我使用下面的几行代码来获取键盘的框架。我已经注册了UIKeyboardDidShowNotification通知。funckeyboardWasShown(notification:NSNotification){varinfo=notification.userInfovarkeyboardFrame:CGRect=info.objectForKey(UIKeyboardFrameEndUserInfoKey).CGRectValue()}这曾经在beta5中工作。我下载了最新的Xcode6版本,它是beta6,这个错误发生在第二行。'[NSObject:Any

ios - [NSObject : AnyObject] ?' does not have a member named ' subscript' error in Xcode 6 beta 6

当键盘显示在屏幕上时,我使用下面的几行代码来获取键盘的框架。我已经注册了UIKeyboardDidShowNotification通知。funckeyboardWasShown(notification:NSNotification){varinfo=notification.userInfovarkeyboardFrame:CGRect=info.objectForKey(UIKeyboardFrameEndUserInfoKey).CGRectValue()}这曾经在beta5中工作。我下载了最新的Xcode6版本,它是beta6,这个错误发生在第二行。'[NSObject:Any