摘要:
cat命令的用途是连接文件或标准输入并打印。这个命令常用来显示文件内容,或者将几个文件连接起来显示,或者从标准输入读取内容并显示,它常与重定向符号配合使用 1.命令格式: 2.命令功能: cat主要有三大功能: 一次显示整个文件: 从键盘创建一个文件: 将几个文件合并为一个文件: 3.命令参数: 阅读全文
摘要:
mv命令 用来对文件或目录重新命名,或者将文件从一个目录移到另一个目录中。source表示源文件或目录,target表示目标文件或目录。如果将一个文件移到一个已经存在的目标文件中,则目标文件的内容将被覆盖。 mv命令可以用来将源文件移至一个目标文件中,或将一组文件移至一个目标目录中。源文件被移至目标 阅读全文
摘要:
pwd命令 以绝对路径的方式显示用户当前工作目录。命令将当前目录的全路径名称(从根目录)写入标准输出。全部目录使用 分隔。第一个 表示根目录,最后一个目录是当前目录。执行pwd命令可立刻得知您目前所在的工作目录的绝对路径名称。 语法 选项 实例 阅读全文
摘要:
cp命令 用来将一个或多个源文件或者目录复制到指定的目的文件或目录。它可以将单个源文件复制成一个指定文件名的具体的文件或一个已经存在的目录下。cp命令还支持同时复制多个文件,当一次复制多个文件时,目标文件参数必须是一个已经存在的目录,否则将出现错误。 语法 选项 参数 源文件:制定源文件列表。默认情 阅读全文
摘要:
什么是运行时(runtime)? 编程语言有静态和动态之分。所谓静态语言,就是在程序运行前决定了所有的类型判断,类的所有成员、方法在编译阶段就确定好了内存地址。也就意味着所有类对象只能访问属于自己的成员变量和方法,否则编译器直接报错。比较常见的静态的语言如:java,c++,c等等。 动态语言,恰恰 阅读全文
摘要:
使用场景 开发: 如果一个类方法非常多,加载类到内存的时候也比较耗费资源,可以给每个方法生成映射表,动态添加方法。就是方法先定义好,但是使用的时候才加载。 面试: 有没有使用performSelector,其实主要想问有没有动态添加过方法。 实现原理 当使用performSelector调用某个没有 阅读全文
摘要:
基本概念 在没有一个类的实现源码的情况下,想改变其中一个方法的实现,除了用继承、类别重写外,还有就是方法交换。方法交换原理:在OC中调用方法是通过消息机制,给某个对象发送消息编号消息。通过SEL(方法编号)可以找到对应的IMP(方法实现,本质上是函数指针),SEL和IMP是一一对应关系。 实现思想 阅读全文
摘要:
本质 动态添加属性,就是让某个属性与对象产生关联。runtime一般都是针对系统的类 开发场景 给系统的类添加属性的时候,可以使用runtime动态添加属性方法。 原理 让一个NSObject类保存一个字符串,可以写一个分类,在分类中属性定义某个变量,这样只会该变量生成set,get方法的声明,不会 阅读全文
摘要:
KVO (Key Value Observing) KVO是 Objective C 对观察者模式(Observer Pattern)的实现。也是 Cocoa Binding 的基础。当被观察对象的某个属性发生更改时,观察者对象会获得通知。 KVO 实现机制 KVO 的实现也依赖于 Objectiv 阅读全文
摘要:
1.回答person的retainCount值,并解释为什么 在self.person 时,如果是assign,person的 retainCount的值不变,仍为1 若是:retain,person的retainCount的值加1,变为2。若是:copy person的retainCount值不变 阅读全文