aki*_*108 3 iphone objective-c ipad
我class_getProperty()在我的iPad应用程序中使用.我试过#import <objc/objc-runtime.h>,它适用于iPad模拟器.
但当我尝试在iPad上运行时,Xcode说:
objc/objc-runtime.h:没有这样的文件或目录
和
警告:隐式声明函数'class_getProperty'.
请注意,模拟器和设备之间存在差异.模拟器不会运行与设备完全相同的SDK.较低层实际上来自Mac SDK,因为它是在mac上执行的,所以它很有意义.
但是,似乎可以解决您的具体问题.你肯定应该试试Jeff Lamarche在这篇文章中描述的修复:Device vs. Simulator
更换
#import <objc/objc-runtime.h>
Run Code Online (Sandbox Code Playgroud)
通过
#import <objc/runtime.h>
#import <objc/message.h>
Run Code Online (Sandbox Code Playgroud)
然后,要删除警告,请在所涉及的类的头文件中添加以下两行:
#if (TARGET_OS_IPHONE)
- (NSString *)className;
+ (NSString *)className;
#endif
Run Code Online (Sandbox Code Playgroud)
然后在实现文件中:
#if (TARGET_OS_IPHONE)
- (NSString *)className {
return [NSString stringWithUTF8String:class_getName([self class])];
}
+ (NSString *)className {
return [NSString stringWithUTF8String:class_getName(self)];
}
#endif
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2406 次 |
| 最近记录: |