objective-c - Objective-C 类或结构?

标签 objective-c class struct nsarray

我有一个 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/

相关文章:

objective-c - NSTextfield + NSMenu 和第一响应者

objective-c - Objective C dismissModalViewControllerAnimated 被非法调用并导致应用程序崩溃

C++如何访问对象队列 vector 中的元素

c 指向结构体的指针问题

c# - 在 C# 中使用结构的单例

c++ - 为什么结构体的 sizeof 不等于每个成员的 sizeof 之和?

ios - 为 TableView 部分添加背景 iOS

iPhone 保存图像

c++ - 为什么在 C++ 中如此频繁地使用 get/set 函数?

c++ - Ciclic类在另一个类中使用