美文网首页
知识小点#1

知识小点#1

作者: oncezou | 来源:发表于2017-11-24 11:36 被阅读6次

1.int const *p和int *const p的区别

被const修饰的内容不可变。
1.const修饰的是✽p,那么✽p就是常量,不能通过✽p 修改p所指向的存储空间的值。P是变量,可以被赋值,p所指向的地址可以变化。
2.const修饰的是p,那么p是常量,其所指向的地址不能变化。✽p是变量,其所指向的存储空间的值可以变化。

const.png
2.数组与指针
    /*
      初始化一个长度为3的整型数组。
      &array = &array[0]。
      一个int类型占4个人字节,所以array占12个字节
    */
    int array[3] = {1, 2, 3};
    
    
    int *k = (int *)&array;
    
    /*
      k+1就是array的地址(&array[0])+4(k占用的字节数*1) = &array[1]
      为什么= &array[1]?因为数组array存储的是整型int
    */
    NSLog(@"%d",*(k+1));        //输出 2
    
    //&array + 1就是array的地址(&array[0])+12(array所占用的字节数*1)
    k = (int *)(&array + 1);

    //*(k-1),获取 k的地址-4(k占用的字节数*1)所存储的内容 = &array[2]
    NSLog(@"%d",*(k-1));       //输出 3

结论: 指针变量 ± 数值 = 变量当前地址 ± (变量所占的字节数 * 数值),即 k ± n = k ± (sizeof(k) * n)。

3.沙盒

1、应用程序包:包含了所有的资源文件和可执行文件
2、Documents:保存应用运行时生成的需要持久化的数据,iTunes同步设备时会备份该目录
3、tmp:保存应用运行时所需要的临时数据,使用完毕后再将相应的文件从该目录删除。应用没有运行,系统也可能会清除该目录下的文件,iTunes不会同步备份该目录
4、Library/Cache:保存应用运行时生成的需要持久化的数据,iTunes同步设备时不备份该目录。一般存放体积大、不需要备份的非重要数据
5、Library/Preference:保存应用的所有偏好设置,IOS的Settings应用会在该目录中查找应用的设置信息。iTunes同步设备时会备份该目录

 // 沙盒的路径
 let homeDirectory = NSHomeDirectory() as String

 // 沙盒的子层级(library/documents/tmp)
 let rootPath = NSSearchPathForDirectoriesInDomains(.libraryDirectory, .userDomainMask, true)[0]
  
 // 创建新的文件夹    
 let path = rootPath.appending("/ONCE/App")
 try! FileManager.default.createDirectory(atPath: path, withIntermediateDirectories: false, attributes: nil)

重点: createDirectory(atPath path: String, withIntermediateDirectories createIntermediates: Bool, attributes: [FileAttributeKey : Any]? = nil)的入参createIntermediates需要传入一个Bool值,传true/false的区别在于,true:将创建任何必要的中间目录(即使不存在ONCE的文件夹,那么将会先创建ONCE,在创建App),false:中间目录不存在,就会crash

5. self/super/superclass
// self 是类的隐藏参数,指向当前调用方法的这个类的实例
// super它本质是一个编译器标示符,和 self 是指向的同一个消息接受者!
NSLog(@"%@",NSStringFromClass([self class]));  // 意思是:获取当前类的class
NSLog(@"%@",NSStringFromClass([super class]));  // 意思是:告诉self,去调用父类的class方法
NSLog(@"%@",NSStringFromClass([self superclass])); // 意思是:self去获取父类

相关文章

  • 知识小点#1

    1.int const *p和int *const p的区别 被const修饰的内容不可变。1.const修饰的是...

  • 知识小点#3

    1、NSFileManager 2、iOS设备唯一标识 第一反应当然是UUID,但是单纯的使用UUID的过程中会出...

  • Swift小点(1)

    protocol protocol 的方法声明为mutating,是为了防止struct 或者 enum 实现协议...

  • 小点夜话(1)

    当一个人熬过了最艰难的时候 就不想再去寻找任何依靠 沉默不是因为词穷 而是因为心空 不去怨,不去恨, 淡然一切 不...

  • 国学知识30个小点

    1.不积跬步,无以至千里。不积小流,无以成江河。 《荀子》 2·学不可以已。 《荀子》,学习不可以停止的。 3...

  • 小点闲语(1)

    图:网络 有些人好斗,仅仅是因为内心有刺,看啥都不顺眼。 而成熟的人身上是不带利刺的,他不屑于你争我斗,只安下心来...

  • 【Book 93/100】《Beginning Program 

    1.知识方面的一小点进展, 后来常常能节省大量时间。 (难怪孔子云: 吾偿终日而所思, 不如须臾之所学。) 2.你...

  • 【文摘】不是鸡汤的鸡汤

    记录分享一些看到的好段子。 1. 凡执事不敬者必败亡。 2. 梦想一定要小点、小点、再小点,小到你能看清,而不是虚...

  • 我对输入与输出关系产生的思考点滴

    刚刚记了一小点税收知识。在学习、记忆、思考的过程中察觉——无力输出是因为知识技能太匮乏的原因。 急于...

  • 小点 《读与分享》(1)

    图:网络 你是爱,是暖,是希望,你是⼈间的四⽉天! 林徽因笔下最美的10句诗 01 如果我的心是一朵莲花,正中擎出...

网友评论

      本文标题:知识小点#1

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