Инициализация класса. Можете ли вы увидеть какие-либо проблемы с этим? - PullRequest
0 голосов
/ 13 февраля 2009
-(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 ошибкам .. гр.

Кажется ли приведенный выше код нормальным и логичным для метода init класса? В основном я получаю EXC_BAD_ACCESS ошибки, когда освобождаю оба пула (изменяемый массив и словарь).

Ответы [ 2 ]

1 голос
/ 13 февраля 2009

Как объявлены ваши свойства? Если они не объявлены с retain, то большинство ваших объектов будут освобождены в конце этого метода.

0 голосов
/ 13 февраля 2009

Вы пропускаете объекты с каждым выделением для строковых свойств. Кроме этого, я не замечаю ничего плохого. Как определяются AddressXKeys?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...