В моем приложении для чата у меня есть ChatViewController.m, который позволяет пользователям отправлять сообщения с помощью среды QuickBlox.Цель-C: сохранить диспетчер просмотра активным при его увольнении?
Когда пользователь отправляет изображение, начинается загрузка фона, а UIProgressView отображает ход загрузки.
Но что делать, если пользователь возвращается из этого представления во время загрузки и возвращается, скажем, через 10 секунд, пока загрузка все еще происходит. Я хочу, чтобы UIProgressView по-прежнему был активным и точным на основе этой загрузки. Но отклонение ViewController не позволяет мне это делать.
Может кто-нибудь предложить, что я должен делать в этой ситуации?
EDIT: Вот как я представляю ChatViewController.m, в зависимости от чата, выбранного из CollectionView:
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{
if([segue.destinationViewController isKindOfClass:ChatViewController.class]){
ChatViewController *destinationViewController = (ChatViewController *)segue.destinationViewController;
if(self.createdDialog != nil){
destinationViewController.dialog = self.createdDialog;
self.createdDialog = nil;
}else{
QBChatDialog *dialog = [ChatService shared].dialogs[((UICollectionViewCell *)sender).tag];
AppDelegate *appDelegate = (AppDelegate*)[[UIApplication sharedApplication] delegate];
appDelegate.dialog = dialog;
}
}
}
EDIT 2: Я Реализована ViewController как синглтон в моем didSelectItemAtIndexPath , Но теперь приложение представляет только черный экран.
- (void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath {
QBChatDialog *dialog = [ChatService shared].dialogs[indexPath.row];
ChatViewController *chatView = [[ChatViewController alloc] init];
chatView.dialog = dialog;
[self presentViewController:chatView animated:YES completion:nil];
}
У вас есть ссылка на ваш контроллер просмотра чата, а затем, когда вы представляете Chatviewcontroller, представляете этот экземпляр – BenJammin
Замечания/ответы, которые вы получили, были права на деньги, но для того, чтобы мы действительно вам помогли, вам нужно объясните, как вы создаете и связываетесь с вашим ChatViewController. Вызывается ли он с помощью автоматического перехода, прикрепленного к кнопке? Представлено ли оно как модальное? Вдвинут в стек навигации? Нам нужно знать специфику, прежде чем мы сможем предложить более обобщенные ответы. –
Я согласен с @BenJammin. Вы должны сохранить сильную ссылку на свой контроллер представления и сохранить его в безопасном месте (не удаляется, когда ViewController уволен) –