美文网首页
结构体作为对象的属性

结构体作为对象的属性

作者: 贼海鸥 | 来源:发表于2017-03-30 10:21 被阅读0次

定义一个结构体

typedef struct{
    int year;
    int month;
    int day;
} Date;

在类中定义

{
    @public
    NSString *name;
    Date birthday;
}

使用.

- (void)say {
    NSLog(@"%@ , %d" , name , birthday->year);
}

初始化Student

Student *stu = [Student new];
stu->name = @"li";
stu->birthday = (Date){1990,5,3};
[stu say];

结构体初始化不能像下面这样写

stu->birthday = {1990,5,3};

原因是:
1.结构体只能在定义的时候初始化
2.系统并不清楚他是数组还是结构体

当然还有其他的赋值方法

  • 第二种
Date d = {1990 , 5 , 3};
stu->birthday = d;
  • 第三种
stu->birthday.year = 1990;
stu->birthday.month = 5;
stu->birthday.day = 3;

相关文章

  • 结构体作为对象属性

  • 结构体作为对象的属性

    定义一个结构体 在类中定义 使用. 初始化Student 结构体初始化不能像下面这样写 原因是:1.结构体只能在定...

  • 结构体作为对象的属性

    合理的设计一个”学生“类学生有* 姓名* 生日两个属性和说出自己姓名生日方法要求利用设计的学生类创建学生对象,并说...

  • 从结构体和类的区别到自定义结构体

    结构体和类的区别 1、结构体只能封装属性,类却不仅可以封装属性也可以封装方法。 2、结构体变量分配在栈,而OC对象...

  • 关于为何view.frame.size.width = *报错

    OC语法规定:OC对象的结构体属性的成员变量无法直接赋值, 但是可以给OC对象的结构体属性赋值 也就是说 可以直接...

  • JavaScript对象(一)

    对象 对象是动态的——可以新增属性也可以删除属性,但是对象经常用来模拟静态对象以及静态类型语言中的“结构体”。对象...

  • js面向对象--设计方法

    字面量法结构var 对象 = {属性名01:属性值,属性名02:属性值,方法01:function(){函数体}}...

  • category可以添加成员变量?

    OC 是不能直接修改对象的结构体的成员变量属性,一般做法是先取出对象的结构体变量,修改该取出来的结构体变量里面的成...

  • Swift--面向对象以及实例属性--07

    Swift 3 推荐你自己定义的对象使用结构体。属性是一个类(class)/结构体(struct)/枚举关联的变量...

  • 15 Go结构体

    1、结构体基础 2、结构体之间的转换 3、匿名属性 4、结构体嵌套 5、结构体匿名属性注意点

网友评论

      本文标题:结构体作为对象的属性

      本文链接:https://www.haomeiwen.com/subject/zzeuottx.html