[英]Objective-C error while implementing class?
我有這堂課
#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
實現文件是這個:
#import "SubscriptionArray.h"
@implementation SubscriptionArray
@synthesize title,source,htmlUrl;
-(void)dealloc{
[title release];
[source release];
[htmlUrl release];
}
@end
當我在本示例中使用此類時,出現EXEC_BAD_ACCESS錯誤:
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];
}
有人能幫我嗎? PS訂閱是一個NSMutableArray
您需要像這樣分配您的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];
}
您需要初始化SubscriptionArray。 即
SubscriptionArray *add = [SubscriptionArray new];
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.