开发过程中小的知识点梳理(二)
开发过程中小的知识点梳理(二)
1. iOS 向下取整、向上取整、四舍五入
向上取整:float ceilf(float); double ceil(double);
向下取整:float floorf(float); double floor(double);
四舍五入:float roundf(float); double round(double);
CGFloat a = 3.3;
CGFloat ceilA = ceilf(a);
CGFloat floorA = floorf(a);
CGFloat roundA = roundf(a);
NSLog(@"%lf 向上取整为%lf, 向下取整为%lf, 四舍五入为%lf", a, ceilA, floorA, roundA);
// 打印结果
2017-03-02 10:03:47.570 UsingWebView[88462:10650303] 3.300000 向上取整为4.000000, 向下取整为3.000000, 四舍五入为3.000000
详情点击:https://www.cnblogs.com/muzijie/p/6489149.html
2. 关于NSError的一些内容
我自己用到NSError的地方是在自己写接口解析的类方法时用到的,如果请求接口返回非200的情况,就创建一个NSError类型传递一下msg和code给处理failure的block。 用到的是
- (instancetype)initWithDomain:(NSErrorDomain)domain code:(NSInteger)code userInfo:(nullable NSDictionary
NSError *error = [[NSError alloc] initWithDomain:JSON[@"msg"] code:[JSON[@"code"] integerValue] userInfo:nil];
InvokeFailure(error);
详情进入: https://www.jianshu.com/p/5110629559b0
http://blog.csdn.net/hdfqq188816190/article/details/52754943
http://blog.sina.com.cn/s/blog_71715bf801019ymq.html
3. isEqualToString和isEqual的区别
isEqual 是 NSObject 的方法 ,而 isEqualToString 是 NSString 的方法
因此从继承关系角度来说isEqualToString 是 isEqual 的衍生方法.
isEqual,方法首先检查指针的等同性,相等直接返回YES,
然后是类的等同性,空或非同类对象直接返回NO,
最后调用对象的比较器进行比较。比较器的名称指示出参与比较的对象的类名称。若均相等,返回YES
isEqualToString,在比较对象都是字符串的前提下, 直接判断字符串内容,比较对象不是字符串,报错。
详情请点击:https://www.jianshu.com/p/9a679ce075f7
4. 类方法与self的注意点 与实例方法区别
详情请点击 :https://www.jianshu.com/p/139d60452283
5. 类方法里使用全局变量
使用static关键字进行修饰的变量,可以既能在类方法里使用也能在实例方法里使用。
如:static NSInteger ArrayCount;
- (void)setShopArray:(NSArray *)shopArray {
_shopArray = shopArray;
ArrayCount = self.shopArray.count;
[self.integralCollectionView reloadData];
}
+ (CGFloat)cellHeight {
return 190.f * roundf((CGFloat)ArrayCount/2) + 65;
}
6. 静变量static、全局变量extern、局部变量、实例变量
详情点击:http://blog.csdn.net/chengyakun11/article/details/16942999
上一篇: BLY-HT-450无线温度传感器
下一篇: Android基础之界面跳转