• 便利初始化浅析


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

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

    下面我们来看看代码,我们创建一个类,名字是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!关于便利初始化的知识,就分析到这儿,有不足之处,忘各位博友指出,共同进步!

  • 相关阅读:
    复杂JSON字符串转换为Java嵌套对象的方法
    好代码是如何炼成的
    让数据流转换代码更加健壮流畅:List的Stream包装
    由一个重构示例引发的对可扩展性的思考
    如何高效搜索信息
    个人安全防护简明指南
    YAML配置解析
    事件处理业务的简易组件编排框架
    lambda表达式滥用之殇:解耦三层嵌套lambda表达式
    碎碎念四六
  • 原文地址:https://www.cnblogs.com/YinShuZhi/p/4928455.html
Copyright © 2020-2023  润新知