便利初始化浅析

关于便利初始化的内容,我看各位大神的博客中很少人提及,估计是因为知识点比较小,所以没有写!我在这儿以我个人拙见来分析下便利初始化的有关知识!

首先,见名知意,就是为了初始化一个成员变量,为什么叫便利呢,因为我们使用便利初始化的时候直接给对象赋值了,省的第二次对其进行赋值,所以叫便利初始化!

下面我们来看看代码,我们创建一个类,名字是Student

在Student.h中

第一步,声明成员变量 name 

1 @interface Student : NSObject{
2     NSString *name;//声明成员变量
3 }

 

第二步,声明方法

1 -(Student *)initWithName:(NSString *)newNaw;
2 -(void)sayhi;
3 @end

注意!!  便利初始化方法命名:-(类名 *)initWith成员变量名:(参数类型)参数名  必须按照该格式进行进行方法的声明initWith 中的W 必须大写!!

 在Student.m中进行实现

复制代码
 1 #import "Student.h"
 2 
 3 @implementation Student
 4 //便利初始化的实现:
 5 -(Student *)initWithName:(NSString *)newNaw{
 6     self = [super init];//通过父类,调用init,初始化方法,产生一个对象
 7     
 8     if (self) {//判断是否驰初始化成功,未初始化之前,self = nil
 9         //如果初始化成功,则进行相关操作(比如,给成员变量赋值)
10         name = newNaw;
11     }
12     //将初始化完成后的对象返回
13     return self;
14 }
15 -(void)sayhi{
16     NSLog(@"%@sayhi",name);
17 }
18 @end
复制代码


在main.h中

直接初始化对象,然后对其进行赋值,然后调用方法!

复制代码
1 #import <Foundation/Foundation.h>
2 #import "Student.h"
3 int main(int argc, const char * argv[]) {
4     @autoreleasepool {
5         Student *stu = [[Student alloc]initWithName:@"Hong"];//在给对象初始化的时候直接给对象赋值
6         [stu sayhi];//对象调用方法
7     }
8     return 0;
9 }
复制代码

 

ok!关于便利初始化的知识,就分析到这儿,有不足之处,忘各位博友指出,共同进步!

posted @   X小强  阅读(198)  评论(3编辑  收藏  举报
点击右上角即可分享
微信分享提示