函数和OOP返回

时间:2015-07-21 16:07:26

标签: objective-c

我目前正在尝试学习Objective C,并通过这种方式学习面向对象语言。

我正在从我编写的类中声明变量,但是,我的函数太长了,我想要删掉那些代码。

我不知道返回如何与类一起工作,这是我的问题。

    Grapejuice *juice;
    juice = [[Grapejuice alloc] init];
    [juice setName:@"Grape juice"];
    [juice setOrderNumber:1000];
    [juice setPrice:1.79];

这是我正在对几个对象执行此操作的主要部分,如何在单独的函数中执行此操作,并且仍然从这个新函数中获取这些信息以便稍后重复使用(将打印的例子)? 不确定我是否清楚,但我刚开始学习它,仍然犹豫不决。

谢谢你们。

1 个答案:

答案 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];

请注意,您可能需要调整orderNumberprice参数的数据类型。我只是在猜测。根据您为Grapejuice课程中的相应属性指定的任何类型,适当地调整它们。