您的位置:首页 > 移动开发 > Objective-C

objective-c 语法 细节(二)

2014-12-04 20:07 204 查看
当一个对象被创建时,它的引用次数被设置为1
super是一个编译指示符。它只是告诉编译器,当调用class的方法时,要去调用父类的方法,而不是本类的,但消息接收者依然是本类,即super不改变消息接收者。

1.Objective-C建立在C语言之上,他是在C语言基础上添加扩展而来能够创建和操作对象的一门心的设计语言。
2.Objective-C是ANSI-C的超集,可以混编C和C++代码。
面向对象最大的特色是消息传递模型,对象不调用方法,而是互相传递消息。

7.不支持内联函数。
内联函数从源代码层看,有函数的结构,而在编译后,却不具备函数的性质。内联函数不是在调用时发生控制转移,而是在编译时将函数体嵌入在每一个调用处。编译时,类似宏替换,使用函数体替换调用处的函数名。一般在代码中用inline修饰,但是能否形成内联函数,需要看编译器对该函数定义的具体处理。

不支持命名空间机制。
命名空间可以相互联系和组织成一个具有任意层次的由类和类的实例组成的网状结构,这种结构有点象文件系统的树状结构,在同一个层次的情况下,命名空间必须具有互异的名称。
编程语言中,命名空间是对作用域的一种特殊的抽象,它包含了处于该作用域内的标识符,且本身也用一个标识符来表示,这样便将一系列在逻辑上相关的标识符用一个标识符组织了起来。许多现代编程语言都支持命名空间。在一些编程语言(例如C++Python)中,命名空间本身的标识符也属于一个外层的命名空间,也即命名空间可以嵌套,构成一个命名空间,树根则是无名的全局命名空间

在Objective-C中一对中括号[]代表消息传递,例如person是消息接收者,setName是消息函数。

是属性的声明 对应在.m文件中 @synthesize name;
如此,则系统自动生成set和get方法。当然,如果自己定义了set和get,则消息传递时调用用户定义的set和get,不调用系统的。

nilNilNULL
Nil
内置类型的指针,对象赋空值
Nil类对象的空值
NULL空值0

Xcode6 中,发现,不需要写@sythysize 了,系统自动生成了,调用的时间,在声明的变量名前加一个下划线就可以了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: