【问题标题】:Error setting property on CLLocation subclass在 CLLocation 子类上设置属性时出错
【发布时间】:2010-11-21 23:33:54
【问题描述】:

我已经定义了 CLLocation 的这个子类

我的位置.h

@interface MyLocation: CLLocation {
    NSString *datum;
    NSString *ellipsoid;
}

@property(nonatomic,retain) NSString *ellipsoid;
@property(nonatomic,retain) NSString *datum;

我的位置.m

@synthesize datum,ellipsoid;

现在我通过位置管理器委托获得一个 CLLocation 实例

  • (void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation{ //self.myPosition 是一个 MyLocation myPosition; self.myPosition = 新位置; [myPosition setDatum:@“WGS 84”]; [myPosition setEllipsoid:@"WGS 84"]; }

当我执行 self.myPosition = newLocation 时,我得到一个 UNCAUGHT EXCEPTION 并且它死了

我也尝试过这种方法,结果相同:

self.myPosition = (MyLocation *)newLocation;

【问题讨论】:

    标签: iphone exception subclass core-location


    【解决方案1】:

    newLocation 不是 ur 子类的实例,因此执行赋值或强制转换会引发错误,因为它是无效的强制转换,你应该从 cllocation 对象中设置你想要的子类的值

    self.myPosition=[[MyLocation alloc] initWithCoordinate:newLocation.coordinate]
    

    等等

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-10-29
      • 2011-11-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多