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];
}