Je veux développer une application de stockage en nuage et je veux atteindre cet utilisateur peut déplacer un fichier ou un dossier vers un autre dossier.comment faire la notification NSNotification par l'observateur spécifique?
-(void)setUpNote{
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(MoveCopypopViewClicked:) name:@"MoveCopypopViewClickedNotification" object:nil];
}
Je fais une marque thisIsOnTop pour marquer le point de vue qui est sur le dessus.
-(void)viewWillAppear:(BOOL)animated{
self.thisIsOnTop = YES;
[super viewWillAppear:YES];
self.myPopView = [[MoveCopyPopView alloc]initWithFrame:CGRectMake(0, screenH, screenW, bottomH)];
[HBKeyWindow addSubview:self.myPopView];
[UIView animateWithDuration:0.5 animations:^{
self.myPopView.frame = CGRectMake(0, screenH - bottomH, screenW, bottomH);
}];
[self setupRefresh];
}
-(void)viewWillDisappear:(BOOL)animated{
self.thisIsOnTop = NO;
if (self.tableViewStatus == 1) {
//[self.tableView setEditing:!self.tableView.editing animated:YES];
self.tableViewStatus = 0;
[self disapperPopView];
}
}
-(void)MoveCopypopViewClicked:(NSNotification *)text{
NSDictionary * dict = text.userInfo;
NSString * btnClicked = [dict objectForKey:@"btnClicked"];
self.mycurrentPOPBtnClicked = btnClicked;
if ([self.myChooseType isEqualToString:@"file"]) {
if ([btnClicked isEqualToString:@"CreateFolderBtnClicked"]) {
[self showNewFolderView];
}else if ([btnClicked isEqualToString:@"ConfirmBtnClicked"]){
[[NSNotificationCenter defaultCenter] postNotificationName:@"MoveCopypopViewClickedNotification" object:nil userInfo:self.prepareToPushFolderID];
for (UIViewController *temp in self.navigationController.viewControllers) {
if ([temp isKindOfClass:[MyDesignTableViewController class]]) {
[self.navigationController popToViewController:temp animated:YES];
}
}
[self disapperPopView];
[self.tableView reloadData];
[self.tableView.mj_header beginRefreshing];
}
}else if ([self.myChooseType isEqualToString:@"folder"]){
if ([btnClicked isEqualToString:@"CreateFolderBtnClicked"]) {
[self showNewFolderView];
}else if ([btnClicked isEqualToString:@"ConfirmBtnClicked"]){
[self loadMoveFolderRequest];
[self.navigationController popToViewController:[self.navigationController.viewControllers objectAtIndex:2] animated:YES];
[self disapperPopView];
[self.tableView reloadData];
[self.tableView.mj_header beginRefreshing];
}
}
}
lorsque je me suis déplacé un fichier et choisir le dossier de destination et cliquez sur le bouton confirm-déplacer, le fichier n'a pas été déplacé dans le dossier que je choisis.
Où avez-vous appelé 'postNotification'? – Thilo
Pourquoi avez-vous 'YES' sur cette ligne:' [super viewWillAppear: YES]; '? – Avi
Il n'y a rien dans le code posté sur le déplacement de fichiers, ni sur les notifications. – Avi