And*_*res 3 cocoa-touch objective-c ios
我有一个非常轻的ViewController,它在viewDidLoad中什么都不做.我在navigationController的顶部推动这个视图.执行此操作的方法是从块内部调用的.在调用showView后我添加了一个NSLog,并且该日志在控制台中打印速度非常快,但视图需要加载很多...我真的不明白可能发生的事情......任何想法???
ABAddressBookRequestAccessWithCompletion(addressBookRef, ^(bool granted, CFErrorRef error) {
[self showView];
NSLog(@"EXECUTED");
});
- (void) showView{
TestViewController *test = [[TestViewController alloc]init];
[self.navigationController pushViewController:test animated:NO];
}
Run Code Online (Sandbox Code Playgroud)
来自以下文档ABAddressBookRequestAccessWithCompletion:
在任意队列上调用完成处理程序.如果您的应用程序在整个应用程序中使用通讯簿,则您有责任确保将该通讯簿的所有使用情况分派到单个队列,以确保正确的线程安全操作.
您应该确保在主线程上调用您的UI代码.
ABAddressBookRequestAccessWithCompletion(addressBookRef, ^(bool granted, CFErrorRef error {
dispatch_async(dispatch_get_main_queue(), ^{
[self showView];
NSLog(@"EXECUTED");
});
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
963 次 |
| 最近记录: |