一、MRC 与 ARC 各自的属性修饰符 二、内存管理修饰符 MRC 模式下属性修饰符 retain: 引用计数加1。 assign: 分配内存,类似于copy。常用于基本数据类型,比如:int,long,NSInteger等。 ARC 模式下属性修饰符 weak: 当引用计数为零时,将其置为nil ...
分类:
其他好文 时间:
2017-05-07 15:39:37
阅读次数:
146
calc()运算 calc()使用通用的数学运算规则,但是也提供更智能的功能: 使用“+”、“-”、“*” 和 “/”四则运算; 可以使用百分比、px、em、rem等单位; 可以混合使用各种单位进行计算; 表达式中有“+”和“-”时,其前后必须要有空格,如"widht: calc(12%+5em)" ...
分类:
其他好文 时间:
2017-05-04 21:55:58
阅读次数:
156
1,装codeblocks 2,装vim,检查gcc,g++,修改vim环境 cd ~vim .vimrc添加如下几行:(括号中的不是,是我添加的)set shiftwidth=4 (表示每一级缩进的长度)set softtabstop=4 (表示在编辑模式的时候按退格键的时候退回缩进的长度) se ...
分类:
系统相关 时间:
2017-05-01 16:09:34
阅读次数:
215
一、 Template功能 根据用户需求指定任意格式 动态生成文件名 每个输出都使用了一些模板,包括针对文件的,针对用户消息等 备注: 旧版本:$template 新版本:template() V6之前是旧格式 V7版本,传统语法与最新配置可在配置文件中混合使用,我们下面学习的是新格式。 二、Tem ...
分类:
其他好文 时间:
2017-04-27 21:05:39
阅读次数:
584
说明:在用户实例化的方法控制单次执行,同时开放单例的初始化方法。 说明:在用户实例化的方法控制单次执行,同时开放单例的初始化方法,由于当前为MRC所以需要控制参内存管理的方法单次执行,因此相比ARC需要增加: 说明:为了方便后期的引用,可以将单例抽取为宏定义,鉴于抽取的时候考虑到当前的手动计数和自动 ...
分类:
其他好文 时间:
2017-04-23 20:21:10
阅读次数:
192
1,在MRC 时代,__block 修饰,可以避免循环引用;ARC时代,__block 修饰,同样会引起循环引用问题; 2,__block不管是ARC还是MRC模式下都可以使用,可以修饰对象,还可以修饰基本数据类型; 3,__weak只能在ARC模式下使用,也只能修饰对象,不能修饰基本数据类型; 4 ...
分类:
其他好文 时间:
2017-04-17 13:02:56
阅读次数:
142
gem update --system 修改完gem sources之后,进行gem update; gem update --system 之后的输出: ...
分类:
其他好文 时间:
2017-04-15 20:27:55
阅读次数:
145
将trait作为接口使用 在Trait中定义具体方法 在Trait中定义具体字段 在Trait中定义抽象字段 为实例混入trait trait调用链 在trait中覆盖抽象方法 混合使用trait的具体方法和抽象方法 trait的构造机制 trait field的初始化 trait继承class ...
分类:
其他好文 时间:
2017-04-15 01:19:43
阅读次数:
233
MRC 环境下: id 变量赋值给 void * 变量运行时不会有问题。 void * 变量赋值给 id 变量并调用其实例方法,运行时也不会有问题。 ARC 环境下: 直接赋值报错 系统给出解决方案: __bridge id 变量赋值给 void * 变量时的__bridge 与 __unsafe_ ...
分类:
其他好文 时间:
2017-04-14 18:57:45
阅读次数:
259
注重代码书写的程序员应该是一个比较有修养的人,下面这些命名规则不一定要绝对遵从,但值得参考。在应用规则 时要进行合理的判断。 Pascal 规则(帕斯卡命名) 每个单词开头的字母大写(如 TestCounter). Camel 规则(大驼峰和小驼峰命名) 除了第一个单词外的其他单词的开头字母大写. ...