【问题标题】:CLLocation may not respond to setDistanceFilterCLLocation 可能不响应 setDistanceFilter
【发布时间】:2011-11-02 02:42:01
【问题描述】:

我是 iPhone 编程的新手,我正在关注this 的书。 我停留在第 4 章中的示例,委派和核心位置。

这是我目前编写的代码: WhereamiAppdelegate.h

    #import <UIKit/UIKit.h>
    #import <CoreLocation/CoreLocation.h>

    @interface WhereamiAppDelegate : NSObject <UIApplicationDelegate, CLLocationManagerDelegate> {
        UIWindow *window;
        CLLocation *locationManager;

    }

    @property (nonatomic, retain) IBOutlet UIWindow *window;

    @end

这里是实现文件: 我只包括了我所做的更改。 整个文件是here

 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
    {
        // Create location manager.
        locationManager = [[CLLocation alloc] init];
        [locationManager setDelegate:self];
        [locationManager setDistanceFilter:kCLDistanceFilterNone];
        [locationManager setDesiredAccuracy:kCLLocationAccuracyBest];
        [locationManager startUpdatingLocation];

    [self.window makeKeyAndVisible];
    return YES;
}

- (void)dealloc
{
    [locationManager setDelegate:nil];
    [_window release];
    [super dealloc];
}

- (void)locationManager:(CLLocationManager *)manager
    didUpdateToLocation:(CLLocation *)newLocation
           fromLocation:(CLLocation *)oldLocation
{
    NSLog(@"%@",newLocation);
}

- (void)locationManager:(CLLocationManager *)manager
       didFailWithError:(NSError *)error
{
    NSLog(@"Couldn't find loaction %@",error);
}

XCode 给我一个警告说 CLLocation 可能不会响应 setDistanceFilter 和其他类似的警告。 我在这里一无所知,我已经按照书本一行行。 我认为我还没有实现必要的协议或其他东西。 有人可以告诉我我做错了什么以及我应该如何继续。

【问题讨论】:

    标签: iphone ios core-location


    【解决方案1】:

    CLLocation 类与CLLocationManager 不同。前者代表一个位置,而后者是处理为您的应用程序配置位置更新的管理器类。

    【讨论】:

    • 非常感谢。你是救生员。
    【解决方案2】:

    像 setDistanceFilter: 这样的东西是系统 API 中未记录的部分。在未来的 iOS 版本(任何)中,它们可能会在没有警告的情况下更改,并且它们还会使您的应用程序无法进入 AppStore,但如果您对此感到满意,没问题......如果 Apple 真的想隐藏这些东西,他们不会'通过在方法表上创建一个 for 循环是找不到的。

    顺便说一句,CLLocation 和 CLLocationManager 之间的区别与您的情况无关,因为代码实际运行并执行正确的操作,因此您将正确的消息发送到正确的对象。

    【讨论】:

      猜你喜欢
      • 2011-05-24
      • 2017-01-31
      • 2013-12-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-09-02
      相关资源
      最近更新 更多