美文网首页
iOS 开发常见问题整理 (持续更新)

iOS 开发常见问题整理 (持续更新)

作者: DreamTracer | 来源:发表于2017-01-19 09:17 被阅读132次
    • sdwebimage 无法下载图片 报403错误 检查请求头是否加入user-agent,如下:
    NSString * userAgent = [NSString stringWithFormat:@"%@/%@ (%@; iOS %@; Scale/%0.2f)",
                                [[[NSBundle mainBundle] infoDictionary] objectForKey:(__bridge NSString *)kCFBundleExecutableKey] ?: [[[NSBundle mainBundle] infoDictionary] objectForKey:(__bridge NSString *)kCFBundleIdentifierKey],
                                [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleShortVersionString"] ?: [[[NSBundle mainBundle] infoDictionary] objectForKey:(__bridge NSString *)kCFBundleVersionKey],
                                [[UIDevice currentDevice] model], [[UIDevice currentDevice] systemVersion],
                                [[UIScreen mainScreen] scale]];
    [[SDWebImageDownloader sharedDownloader] setValue:userAgent forHTTPHeaderField:@"User-Agent"];
    

    github 获得知识

    • iOS 8下 当viewcontroller 下有一个scrollview 并设置代理为当前viewcontroller 滑动过程中退出当前页面时会有崩溃现象,解决方式为 viewcontroller dealloc时 设置scrollviewdelegatenil

    • 直接设置contentOffset属性与 使用contentOffset:animated:的区别

      如果animated这一参数设置为NO,或者直接设置contentOffset这个property,delegate会收到一个scrollViewDidScroll:消息。如果animated这一参数设置为YES,则在整个动画过程中,delegate会收到一系列的scrollViewDidScroll:消息,并且当动画完成时,还会收到一个scrollViewDidEndScrollingAnimation:消息。

    • swift 弱引用

      weak字符串修饰的即为弱引用对象,并不会引起引用计数增加,当对象被释放(回收)之后,weak修饰的变量将指向nil,weak引用是一种非常安全的引用方式。ps:weak修饰的类型一定是个可选值类型unowned字符串修饰的也为弱引用对象,但是与weak不同的是,unowned不允许设置为可选值类型,也不允许nil值的情况。之前的Swift版本,unowned修饰的对象可以正常书写,只有在运行时才会崩溃报错,在3.0版本编译器会检测其修饰的对象是否为nil

    • hash 与 isEqual

      当一个实例作为NSDictionary的key时、作为NSSet的一个元素时,会调用hash方法

      为了优化判等的效率, 基于hash的NSSet和NSDictionary在判断成员是否相等时, 会这样做

      • Step 1: 集成成员的hash值是否和目标hash值相等, 如果相同进入Step 2, 如果不等, 直接判断不相等
      • Step 2: hash值相同(即Step 1)的情况下, 再进行对象判等, 作为判等的结果

      简单地说就是

      hash值是对象判等的必要非充分条件

    相关文章

      网友评论

          本文标题:iOS 开发常见问题整理 (持续更新)

          本文链接:https://www.haomeiwen.com/subject/lrxibttx.html