创建一个 object 的最佳方法,该 object 具有另一个 class 的实例数组作为 cocoa 中的 属性
Best approach to create an object that has an array of instances of another class as a property in cocoa
我的程序中有两个 class,其中一个有另一个 (@property)
的数组。
例如,一个 class 房间有一组学生。
这些方法有什么区别?
- 在我
init
第一个 object 时为数组创建创建一个 instance method
- 在第二个 class.h 文件中创建一个
class method
,该文件创建包含 instancetype
个实例的数组
- 任何其他方法
注意:我不需要单独的第二个 class 的实例,当它们是第一个 class 的属性时它们才有意义。
P.S。我无法为此设置更短的标题。如果你觉得某件事更好,请这样做 :D
With 1) classroom 的所有者,例如学校,必须有学生的引用,以便在实例化 classroom 时它可以传递数组学生到 class 房间。如果您想实例化 class 房间,但还不知道学生是什么,这将是一个问题。但是,如果您知道 class 房间实例化时的所有学生,并且不打算让学生不断变化,那就更好了
With 2) class房间可以先实例化,然后学校可以调用 addStudents
或 class 房间内的任何方法 class-- 随着学校对学生的了解。
另一个解决方案是让您的 class 房间 class 有一个 public NSArray
属性。那么学校可以addObject
和removeObject
随时;有效地让您随时完全控制 class 房间的学生
我的程序中有两个 class,其中一个有另一个 (@property)
的数组。
例如,一个 class 房间有一组学生。
这些方法有什么区别?
- 在我
init
第一个 object 时为数组创建创建一个 - 在第二个 class.h 文件中创建一个
class method
,该文件创建包含instancetype
个实例的数组 - 任何其他方法
instance method
注意:我不需要单独的第二个 class 的实例,当它们是第一个 class 的属性时它们才有意义。
P.S。我无法为此设置更短的标题。如果你觉得某件事更好,请这样做 :D
With 1) classroom 的所有者,例如学校,必须有学生的引用,以便在实例化 classroom 时它可以传递数组学生到 class 房间。如果您想实例化 class 房间,但还不知道学生是什么,这将是一个问题。但是,如果您知道 class 房间实例化时的所有学生,并且不打算让学生不断变化,那就更好了
With 2) class房间可以先实例化,然后学校可以调用 addStudents
或 class 房间内的任何方法 class-- 随着学校对学生的了解。
另一个解决方案是让您的 class 房间 class 有一个 public NSArray
属性。那么学校可以addObject
和removeObject
随时;有效地让您随时完全控制 class 房间的学生