我目前正在尝试学习Objective C,并通过这种方式学习面向对象语言。
我正在从我编写的类中声明变量,但是,我的函数太长了,我想要删掉那些代码。
我不知道返回如何与类一起工作,这是我的问题。
Grapejuice *juice;
juice = [[Grapejuice alloc] init];
[juice setName:@"Grape juice"];
[juice setOrderNumber:1000];
[juice setPrice:1.79];
这是我正在对几个对象执行此操作的主要部分,如何在单独的函数中执行此操作,并且仍然从这个新函数中获取这些信息以便稍后重复使用(将打印的例子)? 不确定我是否清楚,但我刚开始学习它,仍然犹豫不决。
谢谢你们。
答案 0 :(得分:2)
如果我理解正确,我相信你想要的是一个习惯" init" Grapejuice
课程的方法。
在Grapejuice.h中,添加:
- (instancetype)initWithName:(NSString *)name orderNumber:(NSInteger)number price:(double)price;
在Grapejuice.m中,添加:
- (instancetype)initWithName:(NSString *)name orderNumber:(NSInteger)number price:(double)price {
self = [super init];
if (self) {
_name = name;
_orderNumber = number;
_price = price;
}
return self;
}
然后使用您执行的代码:
Grapejuice *juice = [[Grapejuice alloc] initWithName:@"Grape Juice" orderNumber:1000 price:1.79];
请注意,您可能需要调整orderNumber
和price
参数的数据类型。我只是在猜测。根据您为Grapejuice
课程中的相应属性指定的任何类型,适当地调整它们。