私はUITabBarを使用して2つのviewControllerを表示しています。firstViewControllerはuiviewで、secondViewControllerはテーブルビューです。2番目のビューテーブルセルをクリックしたときに必要なものは、firstViewControllerのUILabelで値を更新する必要があります。私のコードはここにありますsecondviewcontroller.h
@interface firstviewcontroller {
NSMutableArray *stationnamestobepassed;
}
@property (nonatomic, retain) NSMutableArray *stationnamestobepassed;
@end
これsecondviewcontroller.m
を宣言する
@implementation firstviewcontroller
@synthesize stationnamestobepassed;
-(void) someaction{
stationnamestobepassed = [NSMutableArray
arrayWithObjects:@"string1",@"string2",@"string3"];
secondviewcontroller = [[secondviewcontroller alloc]initWithNibName:@"NIbName"
Bundle:nil];
secondviewcontroller.stationnamespassed = self.stationnamestobepassed;
//i am not pushing the view controller.
}
@end
これfirstviewcontroller.h
を宣言する
@interface secondviewcontroller {
NSMutableArray *stationnamespassed;
}
@property (nonatomic, retain) NSMutableArray *stationnamespassed;
@end
これfirstviewcontroller.m
を宣言する
@implementation secondviewcontroller
@synthesize stationnamespassed;
-(void)viewWillAppear:(BOOL)animated
{
//stationNameDisplay is a uilabel
stationNameDisplay.text=[stationnamespassed objectAtIndex:0];
NSLog(@"station name %@",[stationnamespassed objectAtIndex:0]);
}
-(void) dealloc{
[stationnamespassed release];
[super release];
}
@end
問題は、値が更新されておらず、NULL が返されることです。しかし、私は最初のバイを押してみましたが、うまくいきました。実際、私はすでにタブに存在していたので、そのView Controllerをプッシュしたくありません。