我有一个 Song 类,它具有 Title、Key、Artist 等属性。没有方法。我循环遍历歌曲信息数据库并为每个歌曲信息创建一个 Song 对象,填充属性,然后将 Song 对象存储在 NSArray 中。
然后我想,为什么不直接使用具有所有这些相同属性的结构 Song 而不是类 Song。这样做会消除类文件、使用类的 .m 文件中的#import Song 行以及分配、初始化和释放的需要。
另一方面,我必须将结构定义放在每个可能需要它的类中。 (除非有一些全局可访问的位置——是吗?)此外,结构可以存储在 NSArray 中吗?
最佳答案
我会在类里面完成。结构不能存储在 NSArray(或任何其他容器类)中,除非你将它包装在 NSValue 中,这可以做到,但有点繁琐。
另外,正如您所指出的,您必须在某处定义结构。正常的方法是像定义类一样在头文件 (.h) 中定义它。所以那里的结构没有“ yield ”。
关于objective-c - Objective-C 类或结构?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2567205/