基于cocoapods實現(xiàn)模塊化的道路,項目已經順利完成,但是將項目集成到主project時,出現(xiàn)了的兩個費解的小問題.
一個是UITabBarController的第二級子控制器中,用如下命令后pop到主頁面時,
self.tabBarController.selectedIndex = 2;
出現(xiàn)TabBar消失的問題:

TabBar消失.png
另一個是cocoapods集成的項目無法接收到主project項目發(fā)送的通知.
多次嘗試之后,發(fā)現(xiàn)如下解決方式:
1子頁面使用pop后,延遲一段時間在使用上面的命令:
[self performSelector:@selector(jump) withObject:nil afterDelay:0.01];
- (void)jump
{
self.tabBarController.selectedIndex = 2;
}
2接收通知的方法采用下面的方式
[[NSNotificationCenter defaultCenter] addObserverForName:@"GTDNotification_UserLoginOut" object:nil queue:[NSOperationQueue currentQueue] usingBlock:^(NSNotification * _Nonnull note) {
[self changeVc];
}];
- (void)changeVc{
self.navigationController.viewControllers = @[[GXTLoginParentController new]];
}
上述解決方式,本質上并沒有改變程序的執(zhí)行邏輯,而僅僅是換一種實現(xiàn)方式,至于原通用方式為什么在模塊化項目中無法實現(xiàn),詳細原因還沒有找出,估計這是OC的內部問題,也可能是cocoapods所帶來的內部不穩(wěn)定性.
歡迎遇到同樣疑惑情況的小伙伴一塊交流~