在方法之间保持类的实例

时间:2014-05-21 16:17:20

标签: objective-c object nsmutablearray

我有一个班级Payroll,我正在尝试将另一个班级Employee的实例存储在NMutableArray中,我将其初始化为:{/ p>

array = [[NSMutableArray alloc] init];

我的Employee课程包含NSMutableStrings个变量,其中包含有关每位员工的信息。

我的Payroll类有两种我正在使用的方法。第一种方法获取employee类的实例,然后将它们放在我的NSMutableArray中,并且工作正常。

我遇到的问题是,当我在第一个方法中访问我放入数组的对象时,在我的第二个方法中,NSMutableStrings我得到的是一堆随机数,这些数字并不接近我的期望。

我的NSMutableArray在我的Payroll.h文件中声明为:

@property (nonatomic, retain) NSMutableArray* array;

我的第一个方法只包含一个看起来像这样的while循环:

while(next == true)
{
    Employee* emp = [[[Employee alloc] init] retain];

    //set values of Employee class

   [array addObject:emp];

}    

我的第二种方法如下:

for(int i = 0; i < [array count]; i++)
{
   Empoyee* emp = [array objectAtIndex: i];

   NSLog(emp->name);
}

Payroll.h看起来像这样:

@interface Payroll
{

   bool next; 
}

@property (nonatomic, retain) NSMutableArray* array;

-void(getEmployee);
-void(doStuff);

@end

Employee.h看起来像这样:

@interface Employee : NSObject
{
    NSMutableString* name;

}
@end

我是objective-c的新手,所以任何帮助都会非常感激。

1 个答案:

答案 0 :(得分:0)

为什么使用->解除引用运算符。由于您的员工似乎是一个对象,请尝试使用emp.name。