我想检查iOS设备的版本是否大于3.1.3
我尝试过的东西:
[[UIDevice currentDevice].systemVersion floatValue]
Run Code Online (Sandbox Code Playgroud)
但它不起作用,我只想要一个:
if (version > 3.1.3) { }
Run Code Online (Sandbox Code Playgroud)
我怎样才能做到这一点?
这是我上一期的问题.我正在使用beginAnimations:context:设置动画块来动画一些UITextLabels.但是我在文档中注意到:"在iOS 4.0及更高版本中不鼓励使用此方法.您应该使用基于块的动画方法."
我的问题是我很想使用animateWithDuration:动画:(在iOS 4.0及更高版本中可用)但不想排除使用iOS 3.0的人.有没有办法在运行时检查设备的iOS版本,以便我可以决定使用哪个语句?
我有一些代码我想只在最新的iPhone SDK(3.0)上执行,但我似乎无法找到一种方法来定位3.0并忽略2.2.1等.有一个ifdef语句,但它似乎覆盖了整个iPhone:
#if TARGET_OS_IPHONE
Run Code Online (Sandbox Code Playgroud)
任何帮助表示赞赏.
在Key-Value Observing Programming Guide中,注册键值观察部分说:"Apple提供的框架中的典型属性只有符合KVO标准才会被记录." 但是,我没有在文档中找到任何记录为KVO兼容的属性.你能指点一下吗?
具体来说,我想知道,如果@property(nonatomic,retain) UIViewController *rootViewController的UIWindow是国际志愿者组织兼容.原因是我正在为iOS <4 添加rootViewController属性,UIWindow并想知道我是否应该使其符合KVO标准.
@interface UIWindow (Additions)
#if __IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_4_0
@property (nonatomic, retain) UIViewController *rootViewController;
#endif;
@end
@implementation UIWindow (Additions)
#if __IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_4_0
@dynamic rootViewController;
- (void)setRootViewController:(UIViewController *)newRootViewController {
if (newRootViewController != _rootViewController) {
// Remove old views before adding the new one.
for (UIView *subview in [self subviews]) {
[subview removeFromSuperview];
}
[_rootViewController release];
_rootViewController = newRootViewController;
[_rootViewController retain]; …Run Code Online (Sandbox Code Playgroud) 我的头文件定义如下:
#import <Foundation/Foundation.h>
@interface Warning: NSObject {
Run Code Online (Sandbox Code Playgroud)
在我的.m文件中,我做:
NSXMLParser *parser = [[NSXMLParser alloc] initWithContentsOfURL:url];
[parser setDelegate:self];
Run Code Online (Sandbox Code Playgroud)
这编译并在3.0下正常工作.
如果我尝试使用4.0编译,我会收到此错误:
没有实现'NSXMLParserDelegate'协议
如果我添加:
@interface Warning: NSObject <NSXMLParserDelegate> {
Run Code Online (Sandbox Code Playgroud)
它用4.0编译好,但是当我尝试用3.0编译时,我得到:
错误:找不到'NSXMLParserDelegate'的协议声明
基础框架正确找到.添加NSXMLParser.h没有帮助.
任何帮助,将不胜感激.
谢谢