NSArray で EXC_BAD_ACCESS エラーが発生します。他のアレイがあり、それらは正常に機能しています。viewDidLoad で配列を初期化しました。別のブロックからアクセスするたびにエラーが発生します。ただし、この配列はヘッダーファイルで定義されています。ARC がオンになっています。これが私のコードです
ヘッダー ファイル .h
@interface PopoverViewController : UITableViewController
{
NSArray *typeFilterItem;
NSArray *changeFilterItem;
NSArray *nFragmentFilterItems;
}
.m ファイル
- (void)viewDidLoad
{
[super viewDidLoad];
// Uncomment the following line to preserve selection between presentations.
// self.clearsSelectionOnViewWillAppear = NO;
// Uncomment the following line to display an Edit button in the navigation bar for this view controller.
// self.navigationItem.rightBarButtonItem = self.editButtonItem;
// set section
typeFilterItem = [NSArray arrayWithObjects:@"All",
@"Type-1",
@"Type-2",
@"Type-3", nil];
changeFilterItem = [NSArray arrayWithObjects:@"All",
@"Static Change",
@"Consistent Change",
@"Inconsistent Change", nil];
nFragmentFilterItems = [NSArray arrayWithObjects:@"Min",
@"Max", nil]; // this is the array causing problem
NSLog(@"count: %d", nFragmentFilterItems.count); // here its ok
// set filters
[self setAllTypeFilers];
[self setAllChangePatternFilters];
}
uitable データソースで
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
// Return the number of rows in the section.
/******* getting error at this line *****/
NSLog(@"count: %d", nFragmentFilterItems.count);
if (section == 0) {
return typeFilterItem.count;
} else if (section == 1) {
return changeFilterItem.count;
} else if (section == 2) {
return 2;
} else if (section == 3) {
return 1;
}
return 0;
}
前もって感謝します