• 零碎知识点总结(不定时更新)


    1、[UIImage imageWithName:@"xxx.png"] 和 [[NSBundle mainBundle] pathForResource:xxx  ofType: xxx] 两种加载图片方式比较

        a、[UIImage imageWithName:],把图片加载到系统内存cache中,系统不定时清理内存,正是不定时如果图片过多过大还没有

          清理会导致内存溢出,但是它只需要加载图片一次,以后调用直接从缓存中取,只有频繁使用的小图片使用它来加载效率更高

        b、[[NSBundle mainBundle] path...],直接从磁盘加载图片,图片下次加载的时候会自动释放第一次的图片,你也可以手动释放内存

    2、static NSString * const

        static:

           a、局部静态变量 :初始化一次,下次调用不进行初始化

           b、外部静态变量/函数:用于作用域限制,仅在本文件使用

           c、静态数据成员/成员函数(c++):针对类而不是某个特定对象来说,比如:类中计数

        const:

           a、定义const常量: const double pi=3.1415

           b、保护被修饰的东西,防止被意外修改: const int i {i = 1; // 修改报错}

           c、如果const位于*的左边,用来修饰指针所指向的变量,表示指针指向为常量;如果const位于*右边,用来修饰指针本身,

             表示指针本身是常量

             如: const int * a;

                int const * b;

                int * const c;

                这里的话,const int 和 int const是一样的,const都位于*的左边,修饰的是*a,*b,表示*a是常量,不能被更改

                比如赋值:*a = 10和*b = 10 这个都是错误的

                而第三个const位于*的右边,修饰的是c,表示c是常量,不能被修改 

                比如赋值:int age = 10;  c = &age  这里的c赋值是错误的      

        static NSString *const:

           仅声明一次的不能修改的指针,常用语定义常量

    3、数组乱序:

     1 NSArray *array = @[@1,@5,@9,@2,@6,@8];
     2     
     3     
     4     array = [array sortedArrayUsingComparator:^NSComparisonResult(NSNumber *no1, NSNumber *no2) {
     5         
     6         int seed = arc4random_uniform(2); // 随机产生0和1
     7         
     8         if (seed){ // 为1时候
     9             
    10             return [no1 compare:no2];
    11         }else{ // 为0时候
    12             
    13             return [no2 compare:no1];
    14         }
    15     }];
    16     
    17     NSLog(@"%@",array);

    4、类方法load和initialize的调用

     1 // 当程序加载进内存时候调用
     2 + (void)load
     3 {
     4     
     5 }
     6 
     7 // 当第一次使用此类的时候调用
     8 + (void)initialize
     9 {
    10     
    11 }
    欢迎加QQ群交流: iOS: 279096195 React Native: 482205185
  • 相关阅读:
    取出session中的所有属性与值的方法
    jqGrid几个需要注意的默认设置
    java语言中除数为零问题
    java语言中Object转为String的几种形式
    highCharts提示框不显示的问题
    jqGrid使用setColProp方法动态改变列属性
    jgGrid中的editrules使用函数来进行验证
    大坝安全监测系统预警值上下限设定
    谓词 (NSPredicate)使用详情
    kvc(键-值编码)
  • 原文地址:https://www.cnblogs.com/GeekStar/p/4317741.html
Copyright © 2020-2023  润新知