У меня есть несколько NSAR-массивов ivar, которые я инициализирую в своем методе -viewDidLoad. Один содержит строки, один содержит IBOutlets. Однако, когда я инициализирую, все объекты в массиве находятся вне области видимости, и адрес памяти равен 0x0 (согласно отладчику Xcode). Однако, когда у меня есть локальный NSArray с теми же объектами, он работает нормально. Инициализация ивара NSString или NSDictionary оба работают нормально.
код:
//.h file
#import <UIKit/UIKit.h>
@interface myViewController : UIViewController
{
NSArray *myArray;
}
@end
//.m file
#import "myViewController.h"
@implementation myViewController
- (void)viewDidLoad
{
[super viewDidLoad];
myArray = [[NSArray alloc] initWithObjects:@"aString", @"another string", nil];
NSLog(@"myArray equals: %@.", myArray);
}
@end
Когда я пытаюсь использовать массив, я получаю ошибку EXC_BAD_ACCESS во время выполнения. Это ошибка XCode, или я что-то упускаю из NSArray? ОБНОВЛЕНИЕ: я использую ARC. После того, как я выключил ARC и выполнил чистую сборку, у меня больше не было этой проблемы. Это ошибка в ARC?
Я не знаю, в чем проблема, но я перешел на стабильную версию Xcode (4.0.2), и у меня вообще не было проблем. Спасибо всем за попытку помочь!