草庐IT

objc_unretainedPointer

全部标签

objective-c - undefined symbol : "_OBJC_CLASS_$ error

我一直在浏览关于这个错误的无数帖子:Undefinedsymbols:"_OBJC_CLASS_$_BoxView",referencedfrom:objc-class-ref-to-BoxViewinViewMovingViewController.old:symbol(s)notfoundcollect2:ldreturned1exitstatusBoxView是UIView的子类,包含了UIKit框架。BoxView.h已导入到ViewController中。ViewController包含以下代码:-(void)addBoxViewAtLocation:(CGPoint)poi

objective-c - Optional 只能应用于@objc 协议(protocol)的成员

这里我在Swift中定义了一个协议(protocol):protocolDrawViewProtocol:class{optionalfuncdrawViewDidEndEditing()//Warning!}编译器给了我一个错误。Optionalcanonlybeappliedtomembersofan@objcprotocol所以我的理解是optional和required仅在Objective-C中可用?但是,如何以纯Swift样式定义可选或必需? 最佳答案 Swift不允许协议(protocol)有可选的要求——如果协议(p

objective-c - Optional 只能应用于@objc 协议(protocol)的成员

这里我在Swift中定义了一个协议(protocol):protocolDrawViewProtocol:class{optionalfuncdrawViewDidEndEditing()//Warning!}编译器给了我一个错误。Optionalcanonlybeappliedtomembersofan@objcprotocol所以我的理解是optional和required仅在Objective-C中可用?但是,如何以纯Swift样式定义可选或必需? 最佳答案 Swift不允许协议(protocol)有可选的要求——如果协议(p

ios - 候选不是 '@objc' 但协议(protocol)需要它

我一直在关注这个tutorial学习快速和iOS应用程序开发。在协议(protocol)部分,教程定义了以下协议(protocol):@objcprotocolSpeaker{funcSpeak()optionalfuncTellJoke()}它说如果你想要一个带有可选方法的协议(protocol),你必须在协议(protocol)前加上@objc标签(即使你的类没有与objective-C互操作)。然后,它显示了实现协议(protocol)的示例:classVicki:Speaker{funcSpeak(){println("Hello,IamVicki!")}funcTellJok

ios - 候选不是 '@objc' 但协议(protocol)需要它

我一直在关注这个tutorial学习快速和iOS应用程序开发。在协议(protocol)部分,教程定义了以下协议(protocol):@objcprotocolSpeaker{funcSpeak()optionalfuncTellJoke()}它说如果你想要一个带有可选方法的协议(protocol),你必须在协议(protocol)前加上@objc标签(即使你的类没有与objective-C互操作)。然后,它显示了实现协议(protocol)的示例:classVicki:Speaker{funcSpeak(){println("Hello,IamVicki!")}funcTellJok

swift - CLLocationManager.authorizationStatus() 总是 CLAuthorizationStatus.NotDetermined with swift&objC app

我可以让我的CLLocationManager进行授权。(ios8下的swift)我什至添加了一个明确的requestAlwaysAuthorization调用(我不需要在ios7下使用objC)funcfinishLaunch(){//askforauthorizationletstatus=CLLocationManager.authorizationStatus()if(status==CLAuthorizationStatus.NotDetermined){self.locationManager.requestAlwaysAuthorization();}else{self.

swift - CLLocationManager.authorizationStatus() 总是 CLAuthorizationStatus.NotDetermined with swift&objC app

我可以让我的CLLocationManager进行授权。(ios8下的swift)我什至添加了一个明确的requestAlwaysAuthorization调用(我不需要在ios7下使用objC)funcfinishLaunch(){//askforauthorizationletstatus=CLLocationManager.authorizationStatus()if(status==CLAuthorizationStatus.NotDetermined){self.locationManager.requestAlwaysAuthorization();}else{self.

Swift 等同于 __attribute((objc_requires_super))?

是否有Swift等同于__attribute((objc_requires_super))如果一个方法没有调用它的super方法,它会发出警告?基本上,如果被覆盖的方法没有调用它的super方法,我想发出警告(或者更好的是,抛出一个编译器错误)。 最佳答案 不,没有Swift等同于__attribute((objc_requires_super))。等效功能,SwiftAttributes,不包含此类属性。Swiftinheritancedocumentation的部分在会提到这样的功能的地方只说:Whenyouprovideame

Swift 等同于 __attribute((objc_requires_super))?

是否有Swift等同于__attribute((objc_requires_super))如果一个方法没有调用它的super方法,它会发出警告?基本上,如果被覆盖的方法没有调用它的super方法,我想发出警告(或者更好的是,抛出一个编译器错误)。 最佳答案 不,没有Swift等同于__attribute((objc_requires_super))。等效功能,SwiftAttributes,不包含此类属性。Swiftinheritancedocumentation的部分在会提到这样的功能的地方只说:Whenyouprovideame

cocoa-touch - 在 swift 中获取类名的用户可读版本(在 objc NSStringFromClass 中很好)

Swift中是否有NSStringFromClass的等价物,它提供了类名的用户可读版本?我尝试将它与我创建的nativeSwift类一起使用,但如您所见,结果似乎是编译器对类名的内部表示:println(NSStringFromClass(MyClass.self))结果:_TtC5test7MyClass我试过将@objc属性添加到类中,并使其成为NSObject的子类,但没有任何区别。我发现如果我将MyClass替换为同名的Objective-C类,并将其导入桥接header中,它会给我“MyClass”,但这不是必需的。另一种选择是为此制定一个协议(protocol),我想以这