Objective-C学习笔记

来源:互联网 发布:http tcp udp网络协议 编辑:程序博客网 时间:2024/06/01 09:15
</pre><pre name="code" class="objc">- (void):实例方法:对类的实例执行的操作[className InstanceMethod]
要调用这个方法,首先得定义类的实例 Fraction *a   
[a InstanceMethod]
+ (void):类方法:创建,操作对象(如计算对象的count之类的)[className classMethod],对整个类进行的操作,如alloc就是类方法
或者使用static声明
不需要实例化
[Fraction classMethod]
类方法可以调用类方法
类方法不可以调用实例方法
类方法不可以使用实例变量,但可用self
类方法作为消息可以被发送到类或者对象中去
@interface 类声明.h
@implementation 类实现.m
创建类对象:Fraction *a, *b;
初始化类对象(调用初始化函数): a = [[Fraction alloc] initWith: 1 over: 3];
定义初始化函数:-(instancetype) initWith: (int) n over:(int)d
定义赋值函数:setTo: (int) n  over: (int) d
调用对象的方法:[a func];
self:调用本身
super:调用父类
@property:在.h文件中声明一个数据成员的getter和setter 如:@property int Foo;
@synthesize:在.m文件中实现该数据成员的getter和setter 如:@synthesize Foo;
global, extern, static:
在定义global的变量时 一般会在变量名前加个g 如:int gFoo = 0;定义在在所有类、函数、方法定义之外,外部文件也可访问(外部全局变量)
<pre name="code" class="objc">gFoo要被其他文件调用,其必须定义在source file(.h)中,定义时不用extern,只有在被其他文件调用时才使用。
当<span style="font-family: Arial, Helvetica, sans-serif;">其他文件调用global变量 需要在文件中使用extern int gFoo, </span>
external声明的变量表示其可被其他外部方法或函数调用 如在一个类中声明:extern int gFoo;extern必须定义在source file(.h)中
如果直接使用extern int gFoo=0;(定义)会报警告  因为声明不会引起变量内存分配 而定义会引起变量内存分配
static:static可以将global的作用范围局限在单一文件中
比如我们在bar.m中定义了 static int gFoo=0; 那么在bar.m文件中所有这条语句后的方法或函数都可访问gFoo的值,而其他文件则不能访问
参考文章:http://blog.csdn.net/djl4104804/article/details/8227951

0 0
原创粉丝点击