Я сделал segue, передавая строку, которая сообщает следующему контроллеру представления, какой экземпляр для синтаксического анализа CoreData для. Проблема в том, что я использую некоторый код, который вызывает методы init, и отправленная строка не инициализируется при ее вызове. Тем не менее, переход работает, когда я отобразить строку в представлении контроллера-адресата viewDidLoadПрохождение nesting через segue nil по методам init, но действительный on viewdidload
- (id)init
{
self = [super init];
if (self)
{
[self initFakeData];
}
return self;
}
Когда этот метод initFakeData называется он устанавливает график и потребности упражнения, чтобы держать действительное значение
- (void)initFakeData
{
NSString *myExercise=exercise; //returns nil
if (myExercise==nil)
{
[email protected]"Default";
}
}
Между тем ...
-(void)viewDidLoad{
NSString *myExercise=exercise; //returns value
}
упражнения это свойство, которое инициализируется предыдущего контроллера представления в Tableview
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
NSIndexPath *indexPath = [self.tableView indexPathForSelectedRow];
if ([segue.identifier isEqualToString:@"showGraph"]) {
JBLineChartViewController *destViewController = segue.destinationViewController;
NSString *myExericse=[NSString stringWithFormat:@"%@", [[_exercises valueForKey:@"exercise"]objectAtIndex:indexPath.row]];
NSLog(@"%@",myExericse);
destViewController.exercise = myExericse;
}
}