Приносим извинения, если это уже было задано и ответили. Я новичок в Objective-C, и я пытаюсь создать проект, содержащий объект с NSMutableString
, и я создаю NSMutableArray
этих объектов.Управление памятью NSMutableArray с помощью NSMutableStrings
Каждая из строк в объекте объявляются следующим образом:
@property (assign) NSMutableString* propname;
В инициализации рутина (initStringObject) для объекта Я заходящего каждой из строк следующим образом:
self.propname = [NSMutableString stringWithCapacity:16];
[self.propname setString:@"Name"];
Существует ряд свойств с несколькими NSMutableStrings
, несколькими NSInteger и плавающей точкой. Все NSMutableStrings
выделяются различной емкостью.
Для NSMutableArray
, я заявляю, что в разделе интерфейсной просмотра контроллера файла .m следующим образом:
@property (strong) NSMutableArray *objectarray;
В loadview, рутина я инициализации массива следующим образом:
self.objectarray = [NSMutableArray array];
[self.objectarray addObject:[[StringObject alloc] initStringObject];
Проект строит отлично, но когда я иду, чтобы заполнить представление информацией в объекте, строки повреждены. Целое число и значения float в объекте верны. Я полагаю, что я должен потерять указатель на правильное место в памяти, но я не могу понять, что происходит. В конце концов, если я продолжу выполнение программы, я получаю сообщение об ошибке EXC_BAD_ACCESS
.
Это приложение OS X.
Может ли кто-нибудь увидеть, что я делаю неправильно?
Заранее спасибо.
Вы не инициализируете mutablearray правильно. –
Похоже, вы используете ARC (поскольку вы используете «сильный»), тогда я уверен, что NSMutableArray верен. @El Томатный, что вы там видите не так? – KirkSpaziani