从另一个实例方法中创建新的类实例(Objective C)

时间:2011-10-29 03:04:36

标签: objective-c class methods instance

我(基本上)是编程和尝试学习Objective-C的新手。我正在开发一个单元转换程序,它使用类的实例来存储和转换单元。例如,如果我想将1英尺转换为英寸,程序将执行以下操作:

  1. 创建一个新的Length类实例(myLength)
  2. 将值和单位存储在类的新实例(myMass)
  3. 调用实例方法将值转换为新单位
  4. My Length课程正常,正如我所料。

    现在我想创建一个名为Area的新类,它创建Length类的两个实例,并使用Length类来执行转换。但是,当我尝试在Area.m中声明我的Length类的新实例时,我收到警告“长度未声明”。

    是否可以在实例方法中创建不同类的实例?更具体地说,我可以在Area类实例方法中创建我的Length类的两个实例吗?

    (如果我使用了任何术语,请提前原谅我)。

    以下是Area.m中代码的一小部分,它给我带来了麻烦:

    @implementation Area
    
    -(void) setCompound: (double) myVal unit1: (char) c1 unit2: (char) c2
    
    {
    
    // Create two new instances of the Length class
    // THE FOLLOWING TWO LINES ARE GIVING ME TROUBLE
    Length * aLength = [[Length alloc] init];  
    Length * bLength = [[Length alloc] init];
    
    [aLength setLength:myVal units: c1]; // Set the value and units of first length
    
    [bLength setLength: 1 units: c2]; // Set the value and units of the second length
    
    }
    
    @end
    

1 个答案:

答案 0 :(得分:2)

您需要在Area.h中导入Length头文件

#import "Length.h"