黑马程序员----便利构造器/代码块

来源:互联网 发布:tcp网络编程linux 编辑:程序博客网 时间:2024/06/05 08:49

-------------培训 学习型博客 请多指教-----------------

直接上代码

Car * car = [[Car alloc] init];alloc是类方法,init是实例方法,Car alloc创建了一个对象,然后调用对象的init方法进行该对象的初始化。
-(id) initWithName : (NSString *) aName
andAge : (int) anAge
{
if(self = [super init]){
name = [aName retain];
age = anAge;
}
}
这里不是判断self与[super init]是否相等,而是判断是否可以成功初始化。而用if判断下,是为了防止self为空的情况
+(id) studentWithName : (NSString *) aName
andAge : (int ) anAge
{
id obj = [[Student alloc] initWithName:aName andAge:anAge];
//设置obj的成员值
[obj autorelease];
return obj;
}
Student *stu1=[Student studentWithName:achao andAge:22];
这个初始化的临时对象不用手动释放,类方法的便利构造器初始化实例变量后不用手动release,然后直接用stu1来调用类的方法来使用被初始化的值


1 void (^myBlock)(NSString *x);//声明一个代码快myBlock
myBlock=^(NSString *x){

NSLog(@"%@",x);
};// 定义代码块
myBlock(@"achao");//使用代码块
}

2 void (^myBlock)(NSString *x)=^(NSString *x){
NSLog(@"%@",x);
};// 定义代码块
myBlock(@"achao");//使用代码块

3 void (^aVoidBlock) () = ^ {
NSLog(@"Message");
};
aVoidBlock();


int (^add)(int x,int y)=^(int x,int y){
return x+y;
};
int result=add(5,6);
NSLog(@"%d",result);



NSMutableArray *array = [NSMutableArray
arrayWithObjects : @"Bcd",@"Abc",@"aCd",@"Ebf",nil];
[array sortUsingComparator:
^NSComparisonResult(id x,id y){
return [x compare: y];
}];
for(id obj in array){
NSLog(@"%@",obj);
}


0 0
原创粉丝点击