访问错误代码1:访问对象实例变量

时间:2012-06-16 17:08:22

标签: objective-c arrays loops

我已经建立了一个从一个类创建的对象数组,我之前写过。我只想在循环遍历数组时访问一些类变量:

- (void)viewDidLoad
{
       [super viewDidLoad];

       NSMutableArray *medicalCenters = [(AppDelegate *)[[UIApplication sharedApplication] delegate] medicalCenters];

       for (MedicalCenter *row in medicalCenters){
           NSString *latitude = row.MCLatitude;
           NSLog(@"%@", latitude);
       }
}

我创建的类文件如下所示:

#import <Foundation/Foundation.h>
#import <MapKit/MapKit.h>

@interface MedicalCenter : NSObject
{
    CLLocationCoordinate2D _coordinate;
}

@property (nonatomic, strong) NSString *medicalCenter;
@property (nonatomic, assign) NSString *MCLatitude;
@property (nonatomic, assign) NSString *MCLongitude;
@property (nonatomic, readonly) CLLocationCoordinate2D coordinate;

- (id)initWithName:(NSString *)medicalCenter coordinate:(CLLocationCoordinate2D)coordinate;

@end

每当我构建NSString *latitude = row.MCLatitude时,我收到了消息: Bad_excess代码:1

但是当我只列出数组医疗中心的对象时,我可以看到它们全部............ 我错过了一些重要的事情吗?

由于 塞巴斯蒂安

1 个答案:

答案 0 :(得分:1)

这是因为内存管理不良,MCLatitudeMCLongitude属性设置为(assign),它们没有被正确保留,不知道你将它们设置为assign的原因,没有理由我可以看到,所以如果你把它们改成强,并使用setter来赋值,它应该没问题。

@property (nonatomic, strong) NSString *MCLatitude;
@property (nonatomic, strong) NSString *MCLongitude;