CLLocationManager委托问题

时间:2013-11-21 02:33:54

标签: ios objective-c geolocation cllocationmanager

任何人都可以尝试在这个问题上帮助我。 我有一个要求,我想从静态构造函数(+(id)initialize)方法调用类方法,如intialize CLLocationmanager +(void)initialize { [self fetchLocation]; } +(void)fetchLocation { mLocation = [[CLLocationManager alloc]init]; mLocation.delegate = self; mLocation.desiredAccuracy = kCLLocationAccuracyBest; [mLocation startUpdatingLocation]; } 。 我的问题是如何在该类方法中赋予委托以及如何获取委托方法。

{{1}}

如果我分配相同的类实例并将其作为委托添加其崩溃。

1 个答案:

答案 0 :(得分:2)

1)您无法通过[self fetchLocation]等静态方法调用+initialize。那是因为那里没有selfself引用当前对象,这是静态方法中没有的。)

2)由于同样的原因,行mLocation.delegate = self没有意义。

要修复您的设计,您可以执行以下操作之一,具体取决于应用中最有意义的内容:

  • 让您的课程成为单身人士,并使该单身人士成为CLLocationManager
  • 的委托人
  • 将位置管理器初始化代码放在您班级的相应-init方法中