黑马程序员技术交流社区

标题: OC 基础 类里可以直接对成员变量进行赋值吗? [打印本页]

作者: zzyy3321    时间: 2014-9-17 18:06
标题: OC 基础 类里可以直接对成员变量进行赋值吗?
请问在类里可以直接对成员变量进行赋值吗?

感觉应该是可以,为什么编译器一直报错呢?

作者: Jr_711    时间: 2014-9-17 18:53
在创建类的同时给成员变量赋值?
显然不可以
只能给对象的成员变量赋值,
类相当于一个模板
作者: qiusiyu    时间: 2014-9-17 19:16
创建类时默认变量值为0,然后可以通过定义指针变量修改对象里的成员变量值。
作者: 陨石    时间: 2014-9-18 09:55
类 *指针 = [类 new];
指针->成员属性 = 值;

@interface 类 : NSObject
{

}
作者: 陨石    时间: 2014-9-18 09:58
@interface 类 : NSObject
{
_成员属性
}
- (数据类型) set成员属性名 :(数据类型) 参数;
@end
@implementation 类
- (数据类型) set成员属性名 :(数据类型)参数
{
_成员属生 = 参数;
}
@end

作者: 陨石    时间: 2014-9-18 10:04
类的实现在方法里可以,不知道还有没有别的方法在类的声明里直接赋值。
作者: zzyy3321    时间: 2014-9-18 11:37
比如直接规定userid从10000开始。这个不应该在类里面实现吗?
作者: ‍___________H    时间: 2014-9-18 12:06
成员变量不能直接赋值。。。。对象都还没产生 怎么会有属性数据呢
作者: wanyiyuan    时间: 2014-9-18 14:37
不可以,你可以通过重写构造方法 即init方法,在init方法中对成员变量进行初始化
作者: ★彬★卍囧神    时间: 2014-9-18 21:04
慢慢学
作者: AngleMGG    时间: 2014-9-20 22:05
楼主的意思是说,类的所有对象在声明的时候某个变量的值就完成初始化(非0)吧,那就只能重写init方法了,在init方法内添加初始化相应变量的代码了。
作者: 王庆功    时间: 2014-9-21 09:22
肯定不能啊。类里是没有成员变量的存储空间的,只有方法列表。可以用构造方法对成员变量进行初始化




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2