我想實現一個應用程序,它有五個標籤。每個選項卡對應一個視圖控制器,如viewController1〜viewController5。如何訪問在分配給UINavigationController的viewController中聲明的屬性?
對於viewController4,我在AppDelegate.m添加navigationController它如下:
viewController4 = [[iPhone_ASRAViewController alloc] initWithNibName:@"iPhone_ASRAViewController_iPhone" bundle:nil];
navController1 = [[UINavigationController alloc]initWithRootViewController:viewController4];
在iPhone_ASRViewController類,我宣佈在.h文件中的屬性如下:
@property (nonatomic, retain) NSString *student_id;
然後,我想訪問在FirstViewController中iPhone_ASRViewController中聲明的student_id(設置student_id),並在FirstViewController.m中實現如下代碼:
iPhone_ASRAViewController *iphone_ASRAVC= [self.tabBarController.viewControllers objectAtIndex:3];
iphone_ASRAVC.student_id=[stu_class stringByAppendingString:stu_id];
//stu_class and stu_id is the text field declared in the FirstViewController.
理想情況下,當用戶推送FirstViewController類中實現的某個按鈕時,student_id的值也將設置爲iPhone_ASRAViewController類。
不幸的是,當用戶按下按鈕的應用程序會崩潰。錯誤消息如下:
[UINavigationController setStudent_id:]: unrecognized selector sent to instance 0x9341170
有人可以提供一些想法/解決方案來調試,請?
我不知道從哪裏開始。你在哪裏實現了setter?,爲什麼要讀寫? – Radu