将类对象作为Objective C中的参数传递

时间:2014-12-16 03:53:45

标签: objective-c uitableview parameter-passing

嘿所以我是Xcode的新手,我有几个问题。

我想制作一个成绩簿应用程序,它实现了很多类。例如,我创建了一个名为" AssignmentList"它基本上以double

的形式存储任务等级列表

另一个名为" Course"有一个NSMutableArray的AssignmentList对象。

如果我想检索一个课程的AssignmentList参数,我的Java本能会告诉我做一个像这样的getter方法:

-(AssignmentList)getAssignmentList(Course);

但是,我似乎无法在Objective C中这样做,只有在我这样做时才有效:

-(id)getAssignmentList(Course);

我该如何解决这个问题?我想创建一个UITableView列出一个课程的所有AssignmentList对象,但我甚至无法设置一个名为AssignmentList的UITableViewCell,因为它不会让我使用我创建的getName方法,因为getName仅适用于AssignmentList对象,但getAssignmentList方法返回一个(id)。

1 个答案:

答案 0 :(得分:2)

假设AssignmentList是一个具有实例而不是某种集合的类(例如NSArray of Assignments),那么您的声明需要类似于:

-(AssignmentList *) getAssignmentList:(Course *) course;

*很重要:在Objective-C中,你并没有真正传递对象,你会传递指向对象的指针。 (嗯,这在Java中也是如此,但你不必明白它。)

当您声明某些内容id,这意味着指向未知类型的内容时,您就不需要*