UITextView не обновляет текст после segue - PullRequest
1 голос
/ 27 ноября 2011

Я пытаюсь обновить текстовое свойство UITextView после перехода, который происходит после нажатия на строку табличного представления.

вот мой код

MasterViewController.m

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{

if ([[segue identifier] isEqualToString:@"4 Choices"]) {
    NSLog(@"prepareForSegue is called");
    NSIndexPath *indexPath = [self.tableView indexPathForSelectedRow];
    NSManagedObject *selectedObject = [[self fetchedResultsController] objectAtIndexPath:indexPath];
    NSString *questionContent = [[selectedObject valueForKey:@"questionContent"]description];
    self.questionContent = questionContent;
    [segue.destinationViewController setTextViewWith:self.questionContent];
}
}

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
NSLog(@"didSelectRowAtIndexPath is called");
NSManagedObject *selectedObject = [[self fetchedResultsController] objectAtIndexPath:indexPath];
NSNumber *questionID = [selectedObject valueForKey:@"qID"];
int i = [questionID intValue];
if (i == 1) {
    [self performSegueWithIdentifier:@"4 Choices" sender:self];
}
else
{
    [self performSegueWithIdentifier:@"5 Choices" sender:self];
}
}

DetailViewController.m

-(void)setTextViewWith:(NSString *)aText
{
self.questionText = aText;
NSLog(@"setTextViewWith is called");

}

- (void)viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated];
[self.questionView setText:self.questionText];
NSLog(@"viewWillAppear is called");
}

РЕДАКТИРОВАТЬ 1: изменить код, чтобы установить текст в «viewWillAppear» РЕДАКТИРОВАТЬ 2: добавить 'didSelectRowAtIndexPath'

Примечание: последовательность была указана из MasterViewController в DetailViewController (не из tableViewCell)

Спасибо за вашу помощь:)

1 Ответ

1 голос
/ 27 ноября 2011

Текстовое представление не может быть загружено в точке prepareForSegue. Я только начал с раскадровок и обнаружил, что вместо этого мне пришлось установить свойства строки в целевом контроллере представления, а затем обновить компоненты пользовательского интерфейса в viewDidLoad или viewWillAppear.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...