1. Auto property synthesis will not synthesize property 'response'; it will be implemented by its superclass, use @dynamic to acknowledge intention

解決方法: 在.m文件里? @dynamic? response;? ??
@dynamic告訴編譯器這個(gè)屬性是動態(tài)的,動態(tài)的意思是等你編譯的時(shí)候就知道了它只在本類合成;
//于 3/15
2. iOS 隱藏鍵盤通用方法:
2.1 ?遵循UITextFieldDelegate的代理方法:在return的代理方法里面書寫[self.view endEditing:YES];
2.2 ?- (void)touchesBegan:(NSSet*)touches withEvent:(UIEvent *)event{
? ? [self.view endEditing:YES];
}
這個(gè)方法只能適用控件是放在view上面,才有效,當(dāng)遇到UIScrollView、UITableView 時(shí),可以使用下面的方法(注:容易手勢沖突):
2.3 ?UITapGestureRecognizer *myTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(hiddenTap:)];
[_myTableView addGestureRecognizer:myTap];
- (void)hiddenTap:(id)sender {
? ? [self.view endEditing:YES];
}
3. NSData 轉(zhuǎn) NSString ?結(jié)果為 null
原因:字符編碼(有不正確的字符)
網(wǎng)上搜了一下,有很多方法都沒有解決我的問題,以下是搜到的方法但沒有解決我的問題:

最終采納的方法:導(dǎo)入 libiconv.tbd?

4.xcode8已經(jīng)集成了注釋功能,(可替換VVDocumenter-Xcode)
快捷鍵 option + command + /
5.查看.a庫支持類型:
cd 到 .a 庫根目錄,lipo -info xxx.a
6.GCD使用dispatch_group_notify、dispatch_group_enter、dispatch_group_leave處理多線程同步操作
- (void)syncAction{
dispatch_group_t group =dispatch_group_create();
dispatch_queue_t globalQueue=dispatch_get_global_queue(0, 0);
dispatch_group_enter(group);
//模擬多線程耗時(shí)操作
dispatch_group_async(group, globalQueue, ^{
sleep(3);
NSLog(@"%@---block1結(jié)束。。。",[NSThread currentThread]);
dispatch_group_leave(group);
});
NSLog(@"%@---1結(jié)束。。。",[NSThread currentThread]);
dispatch_group_enter(group);
//模擬多線程耗時(shí)操作
dispatch_group_async(group, globalQueue, ^{
sleep(3);
NSLog(@"%@---block2結(jié)束。。。",[NSThread currentThread]);
dispatch_group_leave(group);
});
NSLog(@"%@---2結(jié)束。。。",[NSThread currentThread]);
dispatch_group_notify(group, dispatch_get_global_queue(0, 0), ^{
NSLog(@"%@---全部結(jié)束。。。",[NSThread currentThread]);
});
}
7。程序遇到 crash 不跳到 main 函數(shù)入口
