我已经建立了一个从一个类创建的对象数组,我之前写过。我只想在循环遍历数组时访问一些类变量:
- (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
但是当我只列出数组医疗中心的对象时,我可以看到它们全部............ 我错过了一些重要的事情吗?
由于 塞巴斯蒂安
答案 0 :(得分:1)
这是因为内存管理不良,MCLatitude
和MCLongitude
属性设置为(assign),它们没有被正确保留,不知道你将它们设置为assign的原因,没有理由我可以看到,所以如果你把它们改成强,并使用setter来赋值,它应该没问题。
@property (nonatomic, strong) NSString *MCLatitude;
@property (nonatomic, strong) NSString *MCLongitude;