项目错点 集锦1

1.集成支付宝SDK时错误的解决办法

 http://blog.csdn.net/l648320605/article/details/38919861

2.关于tableview cell中nan错误时的解决方法

这种错误是在float经过函数运行出了不是数字的值,nan的意思就是not a number。
主要常见原因:
(1).除以0
(2).sizeWithFont的字符串为nil
(3).数学函数不正确运算

Xcode设置断点快捷调试方法:

http://www.cocoachina.com/bbs/read.php?tid=136006

 3.pop出栈,控制器回退出错

错误写法:

1   MainViewController *mainVC = [MainViewController new];
2   [self.navigationController popToViewController:mainVC animated:YES];

三种方法:

1   //(1)
2   [self.navigationController popViewControllerAnimated:YES]; 2 //(2) 3 [self.navigationController popToRootViewControllerAnimated:YES]; 4 //(3) 5 self.navigationController popToViewController:[self.navigationController.viewControllers objectAtIndex:0] animated:YES];

解决方法:区别于错误写法和第三种方法,另外虽然第三种方法写法正确,但是由于下标的难以计数和变动性,所以不推荐

 第三种方法可有几种写法;其中包括直接下标(静态,不推荐),forin查找以及借用单例记录下标再次跳转等等.

1 [self.navigationController popToViewController:[self.navigationController.viewControllers objectAtIndex:2] animated:YES];
2 3 for (UIViewController *controller in self.navigationController.viewControllers) {
4     if ([controller isKindOfClass:[你要跳转到的Controller class]]) {
5         [self.navigationControllerpopToViewController:controller animated:YES];
6     }
7 }
8 或者
9 [self.navigationController popToViewController:[self.navigationController.viewControllers objectAtIndex: ([self.navigationController.viewControllers count] -6)] animated:NO];

 

 

经典帖子地址:http://blog.163.com/wzi_xiang/blog/static/65982961201211193275578/

4.关于UIButton的细节体验效过点击时没有触感

解决方法:设定UIButton的被点击的类型

修正关键代码:

1 UIButton * aboutUsBtn = [UIButton buttonWithType:UIButtonTypeRoundedRect];

系统给定的方法:

1  UIButtonTypeCustom = 0,                         // no button type
2     UIButtonTypeSystem NS_ENUM_AVAILABLE_IOS(7_0),  // standard system button
3 
4     UIButtonTypeDetailDisclosure,
5     UIButtonTypeInfoLight,
6     UIButtonTypeInfoDark,
7     UIButtonTypeContactAdd,
8     
9     UIButtonTypeRoundedRect = UIButtonTypeSystem,
UIButtonTypeCustom为自定义类型,不添加点击状态时默认不改变
UIButtonTypeRoundedRect一般给定一个点击的高亮效果或暗淡(这是正需要的)
http://blog.csdn.net/cheneystudy/article/details/8115092

5.UIButton标题换行.要求效果如下

起先考虑到UILabel,但是后面发现用Label覆盖了Button之后就没了触感效果(详情见当前错点第4条)
解决关键代码:
(1)aboutUsBtn.titleLabel.numberOfLines = 0;
(2)[NSString stringWithFormat:@"%@\n%@",@"About Us",@"关于我们"] 
1 UIButton * aboutUsBtn = [UIButton buttonWithType:UIButtonTypeRoundedRect];
2     aboutUsBtn.frame = CGRectMake(menuWidth * 2/3 + controlGap, 0.0, menuWidth * 1/3 - controlGap, menuHeight);
3     aboutUsBtn.backgroundColor = diningBtnColor;
4     aboutUsBtn.titleLabel.numberOfLines = 0;
5     [aboutUsBtn setTitle:[NSString stringWithFormat:@"%@\n%@",@"About Us",@"关于我们"] forState:UIControlStateNormal];
6     [aboutUsBtn setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
7     [aboutUsBtn addTarget:self action:@selector(aboutUsBtnClick) forControlEvents:UIControlEventTouchUpInside];
8     [menuView addSubview:aboutUsBtn];

 

6.由pushViewController说起可能出现的各种死法  
http://qzc770707.blog.163.com/blog/static/3408275320115288241822/

7.百度地图导包编译失败

#方法2是用cd进入SDK包 终端输入lipo -create 然后把两个.a文件拖入后面 接后续命令生成新的.a文件

红字部分具体该怎么填写?

如果项目中内容如下:

则有
$(SRCROOT)/QCHJ_iPhone/BaiduMap_IOSSDK_v2.6.0_Lib/Release$(EFFECTIVE_PLATFORM_NAME)
这样做就避免了在模拟器和真机之间反复测试时的,删除重导的麻烦


8.怎么删除写入NSUserDefaults里的内容  

[[NSUserDefaults standardUserDefaults] removeObjectForKey:key];

[[NSUserDefaults standardUserDefaults] synchronize];

http://blog.csdn.net/crycheng/article/details/22285917

 

9.关于cocoaPods使用过程中 Podfile配置文件的格式

platform :ios,'7.0'
pod "AFNetworking", "~>2.0"

 

10.iOS 获得版本号 区分BundleVersion和BundleShortVersionString

http://blog.sina.com.cn/s/blog_65a8ab5d0101bhxh.html

 http://www.open-open.com/lib/view/open1411817778203.html

posted @ 2014-12-23 16:57  HHB17  阅读(171)  评论(0编辑  收藏  举报