prepareWithSegue を介して配列を渡そうとしていますが、アプリを起動すると null になります
これはコードです:
-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if ([segue.destinationViewController isEqual:@"table"]) {
PersonsViewController *person= [[PersonsViewController alloc]init];
[person setAnArray:anArray];
person = segue.destinationViewController;
}
}
これはsetAnArrayメソッドです:
-(void)setAnArray:(NSMutableArray *)anArray
{
array = [[NSMutableArray alloc]initWithArray:anArray];
if (array != nil) {
NSLog(@"array is copied !!");
}
}
データはviewController(UINavigation Controllerに埋め込まれている)からPersonViewController(テーブルビュー)に渡され、テーブルには何も表示されないため、配列カウントをNSLoggedし、ゼロを見つけたので、このコードでさらにチェックしました:
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
#warning Incomplete method implementation.
// Return the number of rows in the section.
if (array == nil) {
NSLog(@"array is null");
}
else
{
NSLog(@"array count is %lu",(unsigned long)[array count]);
return [array count];
}
array is null メッセージが表示されます。
これを修正するのを手伝ってください