Iphone 实现类时出现Objective-C错误?
我有这门课Iphone 实现类时出现Objective-C错误?,iphone,objective-c,class,implementation,Iphone,Objective C,Class,Implementation,我有这门课 #import <Foundation/Foundation.h> @interface SubscriptionArray : NSObject{ NSString *title; NSString *source; NSString *htmlUrl; } @property (nonatomic,retain) NSString *title; @property (nonatomic,retain) NSString *source;
#import <Foundation/Foundation.h>
@interface SubscriptionArray : NSObject{
NSString *title;
NSString *source;
NSString *htmlUrl;
}
@property (nonatomic,retain) NSString *title;
@property (nonatomic,retain) NSString *source;
@property (nonatomic,retain) NSString *htmlUrl;
@end
当我像本例中那样使用该类时,会出现EXEC\u BAD\u访问错误:
for (NSDictionary *element in subs){
SubscriptionArray *add;
add.title=[element objectForKey:@"title"]; //ERROR Happens at this line
add.source=[element objectForKey:@"htmlUrl"];
add.htmlUrl=[element objectForKey:@"id"];
[subscriptions addObject:add];
}
有人能帮我吗?
P.S.订阅是一个NSMutableArray
您需要初始化订阅阵列。i、 e
SubscriptionArray *add = [SubscriptionArray new];
您需要像这样分配SubscriptionArray对象:
SubscriptionArray*add=[[SubscriptionArray alloc]init]代码>
因此,for循环将如下所示:
for (NSDictionary *element in subs){
SubscriptionArray *add = [[SubscriptionArray alloc] init];
add.title=[element objectForKey:@"title"];
add.source=[element objectForKey:@"htmlUrl"];
add.htmlUrl=[element objectForKey:@"id"];
[subscriptions addObject:add];
[add release];
}
谢谢你的回答,我更正了我的代码,现在我得到了这个错误:2011-08-26 17:14:18.102 NewsPad[1204:15203]***由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:'-[\u NSCFSet objectAtIndex:]:未识别的选择器发送到实例0x7eb2cb0'这意味着什么?我能做什么?似乎您的元素变量引用的是NSSet而不是NSDictionary。要了解更多信息,我们需要查看定义SUB的代码代码>在循环结束时,将添加到订阅后@paul@Josh是的,完全忘记了释放。已将其添加到代码中:)
for (NSDictionary *element in subs){
SubscriptionArray *add = [[SubscriptionArray alloc] init];
add.title=[element objectForKey:@"title"];
add.source=[element objectForKey:@"htmlUrl"];
add.htmlUrl=[element objectForKey:@"id"];
[subscriptions addObject:add];
[add release];
}