在我的 appDelegate.h 文件中,我这样做:
CLLocationManager *locationManager;
和
@property (nonatomic, retain) CLLocationManager *locationManager;
然后在 .m 文件中:
...
@synthesize locationManager;
...
if ([CLLocationManager locationServicesEnabled])
{
[myGizmoClass setLocationManagerDisabled:FALSE];
self.locationManager = [[CLLocationManager alloc] init];
self.locationManager.delegate = self;
[self.locationManager setDesiredAccuracy:kCLLocationAccuracyBest];
[self.locationManager setDistanceFilter:kCLDistanceFilterNone];
[self.locationManager startUpdatingLocation];
...
然而我在 XCode 4.5 中得到了以下内容(见附图)
(对象泄露:此代码执行路径后面没有引用分配的对象)
有没有搞错?我在该行之后立即引用它。
我没有看到这个问题。PS:没有崩溃,或任何东西。让我说清楚。这是按原样工作的。我只是讨厌这个错误。我很确定我错过了一些愚蠢的东西。任何人都可以帮忙吗?
请不要发布任何关于“你不必再做@property”等的内容了。这段代码是为 xcode 3.5-4~ish 写回的,我更喜欢具体一点,因为我讨厌必须在两者之间来回切换XCode 4.5 允许的简写以及旧项目需要什么(并且仍然在其源代码中)。所以我仍然使用 .h 文件中的完整定义。我认为编程风格的重大变化将伴随着应用程序的下一次重大更新。(感谢您的理解)