我正在处理核心定位并编写此代码
CLLocationManager *locationManager = [[CLLocationManager alloc]init];
[locationManager setDesiredAccuracy:kCLLocationAccuracyBestForNavigation];
[locationManager setDelegate:self];
//[locationManager setDistanceFilter:0.0f];
[locationManager startUpdatingLocation];
-(void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)locations {
.
.
.
}
但是我的委托方法不起作用,在 15 - 20 之后我意识到我没有创建 CLLocationManager 的属性@property (strong, nonatomic) CLLocationManager *locationManager;
完成后一切正常,没有问题。我已经经历过好几次了,有时事情没有创造就可以工作@property
,有时事情没有创造就绝对不能工作@property
。
我知道@property @synthesize
创建 getter setter 会自动包含防止对象立即销毁的内存管理,但是有时代码如何在不创建的情况下工作@property
?
编辑:
我创建了一个新的类名MyClass
我的类.h:
@interface MyClass : NSObject
-(void)giveMeOk;
@end
我的班级.m
@implementation MyClass
-(void)giveMeOk {
NSLog(@"Its Ok.");
}
@end
在我编写核心定位代码的视图控制器中,viewdidload
我这样做了:
.
.
.
MyClass *myClassObj = [[MyClass alloc]init];
[myClassObj giveMeOk];
.
.
.
并在控制台Its Ok.
打印成功,所以它没有@property
.