【Objective-C】03-OC对象struct类型成员变量的赋值
来源:互联网 发布:139端口 编辑:程序博客网 时间:2024/06/07 05:03
当OC对象的成员变量是struct类型时,如果直接用c语言的方式直接赋值就会报错,如s->birthday={1990,12,11};就会抛出错误。有两种方法可以解决这个问题:
一、声明并初始化一个struct类型临时变量,再整个赋值给birthday成员。
二、对birthday成员内部的各个元素分开赋值。
#import <Foundation/Foundation.h>//性别枚举typedef enum{ SexMan, SexWoman} Sex;//日期结构体typedef struct { int year; int month; int day;} Date;//学生类@interface Student : NSObject{@public Sex sex;//性别 Date birthday;//生日 double weight;//体重 char *name;//姓名}- (void)eat;- (void)run;-(void)printf;@end@implementation Student- (void) eat{ weight+=1; NSLog(@"学生吃完这次后的体重是%f",weight);}- (void)run{ weight -=1; NSLog(@"学生跑完这次后的体重是%f",weight);}- (void)printf{ NSLog(@"性别=%d,姓名=%s,生日=%d-%d-%d",sex,name,birthday.year,birthday.month,birthday.day);}@endint main(){ Student *s=[Student new]; s->name="jim"; s->sex=SexMan; //这种方式是错误的 //s->birthday={1990,12,11}; //第一种赋值方式:声明并初始化一个Date结构类型的临时变量,再赋值给类的成员变量 //Date d={1990,12,11}; //s->birthday=d; //第二种赋值方式:对成员变量中的各个元素分开进行赋值 s->birthday.year=1990; s->birthday.month=12; s->birthday.day=11; s->weight=55; [s run]; [s eat]; [s printf]; return 0;}
0 0
- 【Objective-C】03-OC对象struct类型成员变量的赋值
- 【Objective-C】04-OC对象成员变量的封装规范:get方法和set方法
- 【Objective-C】09-OC中的点语法和成员变量的作用域
- struct类型的赋值
- Java和Objective-C用 成员变量名字符串 给成员变量赋值
- Objective-C 【OC语法:不能修改 某个对象的 结构体属性的 成员】
- 给一个类成员变量struct赋值.
- Objective-C成员变量的作用域
- objective-c 成员变量的作用域
- Objective-c的成员变量访问权限
- 【Objective-C】07-OC对象的继承
- Objective-c - 当属性的类型是oc对象的时候,setter方法的写法
- Objective-C—方法与成员变量、匿名对象
- 5. 14 Objective-C 类与对象,成员变量
- 【IOS 开发学习总结-OC-10】★ objective-c面向对象之——成员变量,模拟类变量,单例模式
- 实例变量与成员变量的区别 Objective-C
- OC: 第一讲(Objective-C,面向对象的C语言)
- iPhone Objective-C 判断对象的类型
- Delphi6 获得当前进程ID与句柄并终止进程。
- PushService开发分享
- Oracle中的一些查询语句及其执行顺序
- AJAX--向服务器发送请求
- 高效字符串匹配之Boyer-Moore & Rabin-Karp
- 【Objective-C】03-OC对象struct类型成员变量的赋值
- GUI TextField类 tf.addActionListener(new TFActionListener());
- UML中的聚集、组成、接口和实现
- 细说业务逻辑
- 桶排序
- 序列化 NSKeyedArchiver,NSPropertyListSerialization
- Windows安全描述符SECURITY_DESCRIPTOR阅读注释
- B. Vanya and Lanterns
- 冬吃萝卜夏吃姜 冬季吃萝卜究竟好在哪?