입니다. 이것은 내 VC를 탐색 VC에 여러 번 밀어 넣는 이상한 누적 버그입니다.하나의 NSNotification이 전송되었지만 많은 선택자가
rootViewController가 CWLandingVC (lvc)로 설정된 UINavigationController가 있습니다. LVC에
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
CWLandingVC *lvc = [[CWLandingVC alloc] init];
UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:lvc];
...
}
, 사용자가 로그인 내 APIClient 클래스는 성공적인 서버 응답을 얻을 때 알림 게시물 : 이것에 대한
NSNotification* notification = [NSNotification notificationWithName:@"sessionArrived" object:self];
NSLog(@"APIClient Posting notification for sessionArrived");
[[NSNotificationCenter defaultCenter] postNotification:notification];
LVC 수신 대기하고 그에 따라이 셀렉터를 보냅니다
NSNotificationCenter *center = [NSNotificationCenter defaultCenter];
[center addObserver:self
selector:@selector(toPagebookWorkspace)
name:@"sessionArrived"
object:client];
...
- (void)toPagebookWorkspace {
NSLog(@"lvc Calling toPagebookWorkspace for session %@. Opening PagebookWorkspace view.", [self sessionId]);
CWWorkspaceVCViewController *wvc = [[CWWorkspaceVCViewController alloc] init];
[[self navigationController] pushViewController:wvc animated:YES];
}
사용자가 로그인 할 때 버그가 발생하고 pushViewController : wvc를 성공적으로 수행하고 lvc에 다시 로그하고 다시 로그인합니다. 이렇게하면 알림이 m 번 게시됩니다. ore - NSLog (@ "sessionArrived 게시 공지")로 확인합니다. - 그러나 선택기 toPagebookWorkspace가 두 번 호출됩니다. 버그를 반복하면 선택기가 3 번 호출됩니다. 그래서 내가 버그를 repro 때마다 점점 더 많은 wvc의 UINavigationController에서 서로 위에 밀어 얻을.
아마도 이러한 로그는 내가 본 이상한 축적 시퀀스를 밝히는 데 도움이 될 수 있습니다. 각 APIClient 알림 게시물에 대해, pushViewController : wvc가 점점 증가하고 있습니다.
Logging in...
APIClient Posting notifcation for sessionArrived
lvc Calling toPagebookWorkspace for session lvcke2. Opening PagebookWorkspace view.
Pressed back on nav bar, calling viewWillDisappear
Logging in...
APIClient Posting notifcation for sessionArrived
lvc Calling toPagebookWorkspace for session lvcke2. Opening PagebookWorkspace view.
lvc Calling toPagebookWorkspace for session lvcke2. Opening PagebookWorkspace view.
nested push animation can result in corrupted navigation bar
Finishing up a navigation transition in an unexpected state. Navigation Bar subview tree might get corrupted.
Unbalanced calls to begin/end appearance transitions for <CWWorkspaceVCViewController: 0x8067410>.
Pressed back on nav bar, calling viewWillDisappear
Pressed back on nav bar, calling viewWillDisappear
Logging in...
APIClient Posting notifcation for sessionArrived
lvc Calling toPagebookWorkspace for session lvcke2. Opening PagebookWorkspace view.
lvc Calling toPagebookWorkspace for session lvcke2. Opening PagebookWorkspace view.
nested push animation can result in corrupted navigation bar
lvc Calling toPagebookWorkspace for session lvcke2. Opening PagebookWorkspace view.
nested push animation can result in corrupted navigation bar
Finishing up a navigation transition in an unexpected state. Navigation Bar subview tree might get corrupted.
Finishing up a navigation transition in an unexpected state. Navigation Bar subview tree might get corrupted.
Unbalanced calls to begin/end appearance transitions for <CWWorkspaceVCViewController: 0x8068330>.
Pressed back on nav bar, calling viewWillDisappear
Pressed back on nav bar, calling viewWillDisappear
Pressed back on nav bar, calling viewWillDisappear
Logging in...
APIClient Posting notifcation for sessionArrived
lvc Calling toPagebookWorkspace for session lvcke2. Opening PagebookWorkspace view.
lvc Calling toPagebookWorkspace for session lvcke2. Opening PagebookWorkspace view.
nested push animation can result in corrupted navigation bar
lvc Calling toPagebookWorkspace for session lvcke2. Opening PagebookWorkspace view.
nested push animation can result in corrupted navigation bar
lvc Calling toPagebookWorkspace for session lvcke2. Opening PagebookWorkspace view.
nested push animation can result in corrupted navigation bar
Finishing up a navigation transition in an unexpected state. Navigation Bar subview tree might get corrupted.
Finishing up a navigation transition in an unexpected state. Navigation Bar subview tree might get corrupted.
Finishing up a navigation transition in an unexpected state. Navigation Bar subview tree might get corrupted.
Unbalanced calls to begin/end appearance transitions for <CWWorkspaceVCViewController: 0x7257930>.
Pressed back on nav bar, calling viewWillDisappear
Pressed back on nav bar, calling viewWillDisappear
Pressed back on nav bar, calling viewWillDisappear
Pressed back on nav bar, calling viewWillDisappear
무슨 일이 일어나고 있는지 미리 알 수 있다면 미리 도움을 청하십시오.
옵저버를 추가 할 때 로그 아웃을 시도하고 make 그것이 여러 번 추가되지 않았는지 확인하십시오. – danielbeard
좋아,하지만 왜 내가 거기에서 로그 아웃합니까? 사용자가 성공적으로 로그인 한 시점입니다. 관찰자의 전체 목적은 서버가 확인 된 로그인 자격 증명으로 응답 한 시점을 파악하는 것입니다. – roro
난 그냥 그 아래 또 다른 관찰자가 수행하지만 다른 뭔가 듣고 있어요 : [중앙 addObserver : 자기 선택 : @selector (noWifiUserNotification) 이름 : 객체 "failedRequestGeneral"@ : 클라이언트] – roro