欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

开发过程中小的知识点梳理(二)

程序员文章站 2022-06-22 18:16:45
...

开发过程中小的知识点梳理(二)

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

相关标签: ios 知识