初始化一个类。你能看到这个问题吗?

时间:2009-02-13 17:24:46

标签: iphone objective-c cocoa-touch xcode

-(id)init {

    if (self = [super init]) {

        self.name = [[NSString alloc] init];
        self.type = [[NSString alloc] init];
        self.phoneNumber = [[NSString alloc]init];
        self.webAddress = [[NSString alloc] init];

        NSMutableArray *pricesArray = [[NSMutableArray alloc] init];
        NSMutableArray *poolsArray = [[NSMutableArray alloc] init];
        self.prices = pricesArray;
        self.pools = poolsArray;

        [pricesArray release];
        [poolsArray release];

        //Create the address dictionaries
        NSMutableDictionary *addressItems = [[NSMutableDictionary alloc] initWithObjectsAndKeys:@"", KAddressStreet1Key, @"", KAddressStreet2Key, @"", KAddressBoroughKey, @"", KAddressCityKey, @"", KAddressCountyKey, @"", KAddressPostCodeKey, @"" ,KAddressCountryKey, nil];

        //Add dictionary to the array to contain address values
        self.address = addressItems;
        [addressItems release];

    }

    return self;
}

由于EXC_BAD_ACCESS错误,我正在进行大量的调试.. grr。

对于类init方法,上面的代码看起来是否合乎逻辑?当我发布两个池(可变数组和字典)时,基本上我得到EXC_BAD_ACCESS错误。

2 个答案:

答案 0 :(得分:1)

您的房产如何申报?如果未使用retain声明它们,那么大多数对象将在此方法结束时被释放。

答案 1 :(得分:0)

您正在使用字符串属性的每个分配泄漏对象。除此之外,我没有注意到任何错误。 AddressXKeys是如何定义的?