У меня есть навигационная система, которая загружает табличный вид. Когда вы нажимаете на ячейку, она копирует некоторые данные в файл detailsVC, есть кнопка обновления для обновления значений. Как обновить данные в деталях VC, не возвращаясь назад к представлению таблицы и обновляя их в первую очередь?Как обновить данные ViewController1 с данными, полученными из ViewController2
Это то, что я хочу сделать:
TableView> DetailsView> EditDetails> Вернуться к DetailsView с обновленной информацией
Не так:
TableView> DetailsView> EditDetails > DetailsView (с помощью навигации назад)> TableView> (pull to refresh)> DetailsView
EDIT
- (void) receiveNotifications:(NSNotification *) notification {
if ([[notification name] isEqualToString:@"updateDetailsVC"]){
dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);
dispatch_async(queue, ^{
NSDictionary *userInfo = [notification userInfo];
NSLog (@"%@", userInfo);
PRIORITYstring = [userInfo objectForKey:@"PRIORITY"];
});
}
}
я был в состоянии получить код для работы и через NSLog, мои данные оттеснили в качестве словаря.
когда viewDidLoad для деталей VC, он запускает метод, который помещает NSString в соответствующую UILabel.
- (void)viewDidLoad {
[super viewDidLoad];
[self displayData];
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(receiveNotifications:)
name:@"updateDetailsVC"
object:nil];
}
-(void)displayData {
PRIORITYlabel.text = [NSString stringWithFormat:@"Short Description: \n%@", QDESCRIPTIONstring];
}
- (void) receiveNotifications:(NSNotification *) notification {
if ([[notification name] isEqualToString:@"updateDetailsVC"]){
dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);
dispatch_async(queue, ^{
NSDictionary *userInfo = [notification userInfo];
NSLog (@"%@", userInfo);
PRIORITYstring = [userInfo objectForKey:@"PRIORITY"];
//PRIORITYlabel.text = [userInfo objectForKey:@"PRIORITY"];
});
}
}
Как я могу получить словарь, чтобы переопределить исходные данные?
Вы можете использовать блок для этого – NiravPatel