草庐IT

OBJC_EXPORT

全部标签

ios - 在 xcode6 gold master 中,使用 objc_msgSend 现在会抛出一个语法错误,指出参数数量错误

idtopLayoutGuideObj=objc_msgSend(viewController,@selector(myselector));“函数调用的参数过多,预​​期为0,实际为2”但是,objc_msgSend的函数签名如下所示:#if!OBJC_OLD_DISPATCH_PROTOTYPESOBJC_EXPORTvoidobjc_msgSend(void/*idself,SELop,...*/)__OSX_AVAILABLE_STARTING(__MAC_10_0,__IPHONE_2_0);OBJC_EXPORTvoidobjc_msgSendSuper(void/*str

ios - 代码 8 : 'objc_unretainedPointer' is unavailable use a __bridge cast instead

刚刚将我的项目更新到Xcode8,我在我的应用程序包含的多个外部框架中发现了这个错误。是否有解决方法(可能是触摸设置)来避免此编译错误?这是一个错误示例:(我无法修改,因为它是一个导入的框架)constvoid*ivarPtr=objc_unretainedPointer(self)+ivar_getOffset(ivar);[decoderdecodeValueOfObjCType:[ivarInfo[@"encoding"]UTF8String]at:(void*)ivarPtr]; 最佳答案 对于Xcode8,它应该是:con

ios - 代码 8 : 'objc_unretainedPointer' is unavailable use a __bridge cast instead

刚刚将我的项目更新到Xcode8,我在我的应用程序包含的多个外部框架中发现了这个错误。是否有解决方法(可能是触摸设置)来避免此编译错误?这是一个错误示例:(我无法修改,因为它是一个导入的框架)constvoid*ivarPtr=objc_unretainedPointer(self)+ivar_getOffset(ivar);[decoderdecodeValueOfObjCType:[ivarInfo[@"encoding"]UTF8String]at:(void*)ivarPtr]; 最佳答案 对于Xcode8,它应该是:con

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 - 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.