Прежде всего, есть ошибка в вашем третьем блоке кода. Это:
RootViewController *rv = [RootViewController alloc] ;
Должно быть так:
RootViewController *rv = [[RootViewController alloc]init];
Но, строго говоря, это не то, почему вы не видите переменную вашего экземпляра.
Если я правильно понимаю, первые два блока кода находятся в RootViewController
, и они создают экземпляр AddQuoteViewController
и представляют его. Затем из третьего блока кода, который находится в AddQuoteViewController
, вы хотите получить доступ к переменной-члену (subject_id
) из RootViewController
, которая вызвала его.
Подход создания экземпляра RootViewController
из AddQuoteViewController
не будет работать, потому что вы создаете другой экземпляр из RootViewController
. Что вам нужно, так это значение в экземпляре, с которого вы только что пришли.
Возможно, самый простой способ сделать это - создать соответствующее свойство в AddQuoteViewController
и установить его при создании:
- (void) addQuote_Clicked:(id)sender {
if(aqvController == nil)
aqvController = [[AddQuoteViewController alloc] initWithNibName:@"AddQuoteView" bundle:nil];
if(addNavigationController == nil)
addNavigationController = [[UINavigationController alloc] initWithRootViewController:aqvController];
aqvController.subject_id = self.subject_id;
[self.navigationController presentModalViewController:addNavigationController animated:YES];
}
Вам нужно будет создать свойство subject_id
для AddQuoteViewController
так же, как для RootViewController
.