2011-06-02 56 views
0

我对Objective C的开发非常陌生,但在面向对象的c#ASP开发方面有很多经验。我一直在试图制作一个PickerView控件访问数据源的简单iPhone应用程序。EXC_BAD_ACCESS iPhone Dev

在我的头文件(InstaTwitViewController.h)本人宣布:

@interface InstaTwitViewController : UIViewController 
    <UIPickerViewDataSource, UIPickerViewDelegate> { 

      NSArray* activities; 
      NSArray* feelings; 
} 

我现在尝试inititialise我在viewDidLoad中的功能阵列,我InstaTwitViewController.m文件:

activities = [[NSArray alloc] initWithObjects:@"sleeping", @"eating", @"thinking", nil]; 
feelings = [[NSArray alloc] initWithObjects:@"psyched", @"sad", @"happy", nil]; 

但是当我在模拟器上运行代码时,第一行代码(我将数据分配给活动数组)发生了Thread 1: Program recieved signal "ESC_BAD_ACCESS"错误。

我在行上放了一个断点,它将它识别为一个名为活动的NSArray,但在末尾说“无效摘要”。

有谁知道我为什么得到这个错误?我看了很多关于ESC_BAD_ACCESS错误的线索,但似乎没有人帮助过我。

+0

你可以发布崩溃日志吗? – 2011-06-02 08:53:28

+0

你可以发布你的pickerview代码吗? – Aravindhan 2011-06-02 08:53:40

+1

这个问题似乎是别的地方。也许你在代码中过早释放对象? – jlink 2011-06-02 09:17:02

回答

0

.H

@interface InstaTwitViewController : UIViewController <UIPickerViewDataSource, UIPickerViewDelegate> { 
    NSArray* activities; 
    NSArray* feelings; 
} 

@property (nonatomic, retain) NSArray* activities; 
@property (nonatomic, retain) NSArray* feelings; 

@end 

.M

#import "your.h" 

@implementation InstaTwitViewController 

@synthesize activities, feelings; 

- (void)viewDidLoad { 
    [super viewDidLoad]; 

    [self.activities addObject ~ /* Do your code here */]; 

} 

@end 

Becareful你应该留在自己。〜如果你不想失去自己的价值。 顺便说一句,我是韩国人〜^^;