KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
in a method, i want to call a method after n seconds: self.toolBarState = [NSNumber numberWithInt:1]; [self changeButtonNames]; [self drawMap]; [self performSelector:@selector(showActionSheet) withObject:nil afterDelay:2]; i want to show the action sheet 2 seconds after drawMap is complete. when i use this performSelector, it never makes the call. if i just put [self showActionSheet];, it works just fine. is there reason why the performSelector is not making the call? EDIT: in another part of my code, i make the same call and it works: HUD = [[MBProgressHUD alloc] initWithView:self.view]; [self.view addSubview:HUD]; HUD.delegate = (id) self; [HUD showWhileExecuting:@selector(drawMap) onTarget:self withObject:nil animated:YES]; [self performSelector:@selector(showActionSheet) withObject:nil afterDelay:6]; here, the showActionSheet gets called 6 seconds after drawMap has completed. i'm guessing there is something going on with the threads that i don't understand yet... EDIT2: -(void)showActionSheet { InspectAppDelegate *dataCenter = (InspectAppDelegate *) [[UIApplication sharedApplication] delegate]; if (dataCenter.fieldIDToPass == nil) { UIActionSheet *actionSheet = [[UIActionSheet alloc] initWithTitle:@"Selected Boundary Options" delegate:(id) self cancelButtonTitle:@"Cancel" destructiveButtonTitle:nil otherButtonTitles:@"Analyze a Field",@"Retrieve Saved Analysi", @"Geotag Photos", @"Refresh the map",nil]; actionSheet.tag = 0; [actionSheet showInView:self.view]; } else { UIActionSheet *actionSheet = [[UIActionSheet alloc] initWithTitle:@"Selected Boundary Options" delegate:(id) self cancelButtonTitle:@"Cancel" destructiveButtonTitle:nil otherButtonTitles:@"Analyze a Field",@"Retrieve Saved Analysi", @"Geotag Photos", @"Attribute the Field", @"Refresh the map",nil]; actionShee
Tags (comma-separated)
Save Edits
Cancel