我有幾個ivar NSArrays,我在我的-viewDidLoad方法中初始化。一個包含字符串,一個包含IBOutlets。但是,當我初始化時,數組中的所有對象都超出了範圍,並且內存地址是0x0(根據Xcode調試器)。但是,當我有一個本地NSArray具有相同的對象,它工作正常。初始化ivar NSString或NSDictionary都可以正常工作。可可觸摸NSArray初始化不能正常工作
代碼:
//.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),我根本沒有問題。感謝大家試圖幫助!
目前,我只是試圖NSLog它。代碼是'NSLog(@「%@」,myArray);' – futurevilla216
你可以發佈一個最簡單的例子嗎? – bbum
好的,我會更新原文。 – futurevilla216