构造器


它的主要任务是保证新实例在第一次使用前完成正确的初始化工作.


构造器.可以用来同一个类中的指定构造器,也可以用来创建一个有特定输入的实例


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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值