1. @propety @synthesize 关键字:比如Student类, 实现Student的成员属性的set get方法。通常我们在其他类里访问Student的成员属性的做法:获取student的名字通过student.name,给名字赋值[student setName:@“jordy”]; 其中student是Student类对象,如果在Student类内部访问其成员属性使用[self setName:@”jordy”], 访问使用self.name
2. id IBOutlet id textField;//插座变量通常使用id关键字动态地指定类型。您可将id关键字用作任何对象的类型,意味这个对象的类在运行环境中才确定。IBOutlet NSTextField *textField;// 当您不需要动态类型对象时,应该静态地指定插座变量为指向对象的指针。
3. self objective-c语言中的self,就相当于C++中的this指针。学会使用self,首先要搞清楚属性这一概念, 以及理解getter和setter方法,它到底有什么用?设置器与访问器,提供外界操作 类内部属性的 一个通道。假如,没有这个方法,外界怎么操作类的内部属性。假如不提供这两个方法,那么这个属性的值,就不能为外界所改变。因为类的属性,一般是private 。属性一般是私有的。self代表的是“自身”,比如你在一个类里面使用self,指的就是这个类,当使用self调用方法时,会从当前类的方法列表中开始找,如果没有,就从父类中再找;而当使用super时,则从父类的方法列表中开始找。然后调用父类的这个方法。
4. nil Nil Null
nil和C语言的NULL相同,在objc/objc.h中定义。nil表示一个Objctive-C对象,这个对象的指针指向空(没有东西就是空)。
首字母大写的Nil和nil有一点不一样,Nil定义一个指向空的类(是Class,而不是对象)。
在Objective-C里,nil对象被设计来跟NULL空指针关联的。他们的区别就是nil是一个对象,而NULL只是一个值。而且我们对于nil调用方法,不会 产生crash或者抛出异常。这个技术被framework通过多种不同的方式使用。最主要的就是我们现在在调用方法之前根本无须去检查这个对象是否 是nil。假如我们调了nil对象的一个有返回值的方法,那么我们会得到一个nil返回值。
我们可以通过nil对象让我们的dealloc函数实现看上去更帅一点:
- (void) dealloc
{
self.caption = nil;
self.photographer = nil;
[super dealloc];
}
之所以可以这么做是因为我们给把nil对象设给了一个成员变量,setter就会retain nil对象(当然了这个时候nil对象啥事情也不会做)然后release旧的对象。这个方式来释放对象其实更好,因为这样做的话,成员变量连指向随机数据的机会都没有,而通过别的方式,出现指向随机数据的情形机会不可避免。注意到我们调用的self.VAR这样的语法,这表示我们正在用setter,而且不会引起任何内存问题。
在Objective-C中,nil对象在功能上等价于其他很多语言中的NULL指针。区别是可以对nil调用方法,而不致导致程序崩溃或抛出异常。
5. 指针 * 号 所有的Objective-C对象变量都是指针类型的。id类型被预定义为指针类型,因此不需要加星号了。
指针,也就是你要的地址.
指针是一个特殊的变量,它里面存储的数值被解释成为内存里的一个地址。
指针到底是什么?指针(pointer)到底是什么,弄清楚这个问题很重要。指针是一种用于存放另一个变量的地址的变量。地址就是内存单元的编号。指针就是地址。内存中的每个位置有一个独一无二的标识,这个标识就是地址;
指针说白了就是地址.指针变量就是用来存放指针(地址)的变量。
6. objective-c与C++比较
嵌套调用方法:
objective-c [[[对象 方法1] 方法2] 方法3];
C++ 对象.方法1( ).方法2( ).方法3( );
方法调用形式:
objective-c [ 对象 方法名:参数A 方法名:参数B...];
C++ 对象.方法名(参数列表);
对象的创建:
objective-c 类名 对象指针=[[类名 alloc] 初始化方法];
C++ 类名 对象指针=new 构造方法;
空指针:
objective-c nil
C++ NULL
Objective-c 一些关键字
最新推荐文章于 2022-02-11 12:18:40 发布