我正在寻找,如何使用iOS 8适用于iPhone6的晴雨表apis.
我使用了以下代码
if([CMAltimeter isRelativeAltitudeAvailable]){
CMAltimeter *altimeter = [[CMAltimeter alloc] init];
[altimeter startRelativeAltitudeUpdatesToQueue:queue withHandler:^(CMAltitudeData *altitudeData, NSError *error) {
if(error)
[label setText:[NSString stringWithFormat:@"%@",error.localizedDescription]];
else
[label setText:[NSString stringWithFormat:@"%@",altitudeData.relativeAltitude]];
}];
}
else{
[label setText:@"That's not iPhone 6 for sure ;)"];
}
Run Code Online (Sandbox Code Playgroud)
但它甚至没有返回任何错误值.似乎完成块不工作因为我的标签没有更新.我在iPhone 6上测试它.
我刚刚在一个班级内创建了一个Extension
for 班级NSString
Category
#import "NSString+Name.h"
@interface NSString(Name)
@property (nonatomic, retain) NSString *var;
@end
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试访问类别类中的私有变量时,应用程序崩溃并给出错误。
@implementation NSString (Name)
- (NSString*)newString{
[self setVar:@"Its a new string"]; // Crashes here
NSLog(@"name = %@",self.var);
return self.var;
}
@end
Run Code Online (Sandbox Code Playgroud)
撞车原因
无法识别的选择器发送到实例0x1023641c8 2015-05-25 11:12:49.246 Tute [710:14433] ***由于未捕获的异常'NSInvalidArgumentException'终止了应用程序,原因:'-[__ NSCFConstantString setVar:]:无法识别的选择器发送到实例0x1023641c8'
如果我能够在该变量中分配值,那么为什么说不识别的选择器