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

本文介绍了iOS开发中的一些实用技巧,包括数值的向上取整、向下取整及四舍五入的方法,NSError的使用方式,isEqualToString与isEqual的区别,类方法与实例方法的区别,以及如何在类方法中使用全局变量等内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

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.youkuaiyun.com/chengyakun11/article/details/16942999

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值