年前公司就打算开发一款app,android和ios都交给我处理了。对于java后台和android技术还可以的我,遇到了ios也是一头雾水,前前后后用了一个多月的时间进行了快速入门。这其中有N多个问题。总结一句话,快速入门不是万能的,虽然语言不一样但是编程思想都是相通的,除了差异化语法绕的我晕来晕去。其他的还好,多数问题通过互联网都能解决,还好身边有几个ios大神,要不然自己得则疼死,以下是自己开发中遇到的问题整理了出来,为以后打下良好的基础。
问题1
Terminating app due to uncaught exception 'NSUnknownKeyException', reason: '[<WITRestaurantTableViewCell 0x7f90e298d000> setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key iphone.
解决:字段改名字引起的
问题2
如何打开MAC电脑隐藏文件
解决:Command+Shift+. 可以显示隐藏文件、文件夹,再按一次,恢复隐藏。
问题3
如何解决加载网络图片的问题
解决:
NSString *urlStr = [NSString stringWithFormat:@"%@restaurant/image/%@/logo",baseUrl,restaurants.logoName];
NSURL *url =[NSURL URLWithString:urlStr];
//2 准备Session
NSURLSession *session = [NSURLSession sharedSession];
//3 准备会话
NSURLSessionDataTask *task = [session dataTaskWithURL:url completionHandler:^(NSData * _Nullable data, NSURLResponse * _Nullable response, NSError * _Nullable error) {
UIImage *image = [UIImage imageWithData:data];
//在主线程刷新
dispatch_async(dispatch_get_main_queue(), ^{
self.iconView.image = image;
});
}];
[task resume];//执行
问题4
自定义UITableViewCell如何隐藏选择效果
解决:
#pragma mark - 默认方法
- (void)awakeFromNib {
[super awakeFromNib];
//取消table view cell 点击选择效果
self.selectionStyle = UITableViewCellSelectionStyleNone;
}
问题5
如何处理多行文本的问题
未解决
问题7
UITabBarController中item按钮再次点击显示初始控制器(最开始显示的那个控制器)问题
解决:
控制器遵守代理
并实现方法:
#pragma mark 添加tabbar按钮调整首个控制器
- (void) tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController {
[viewController.navigationController popToRootViewControllerAnimated:YES];
}
问题8
HTTP异步请求失败处理问题
未解决
问题9
后续更新。。。