【问题标题】:Constant class in objective-cObjective-c 中的常量类
【发布时间】:2014-11-01 22:20:22
【问题描述】:

我在Objective-C 中阅读了一些关于常量的帖子,我得出的结论是创建标头和实现更好。

问题是这样的。我应该扩展什么课程? NSDocument? Xcode 不允许我创建没有子类的类。

【问题讨论】:

  • 什么是“常量类”??它与 NSDocument 有什么关系?

标签: ios objective-c constants


【解决方案1】:

我猜你的意思是声明一些全局常量的地方。如果是这种情况,那么您实际上不需要定义一个类。

更具体地说,如果您的常量只是原始数据和字符串。您可以在 .h 文件中定义它们并在 .m 文件中声明它们。

常量.h

extern NSString *const ConstString;
extern const NSInteger ConstInt;

常量.m

NSString *const ConstString = @"asdasd";
const NSInteger ConstInt = 12;

但是,如果您需要定义常量自定义对象。那么你可能需要一个自定义的单例类。您可以通过单例的方法获得常量。 singelton 类应该是NSObject 的子类,因为正如@Peter Pei Guo 所说,这是所有Objective-C 类的基类。

【讨论】:

    【解决方案2】:

    我会说只是扩展NSObject

    我觉得NSDocument 不适合这里的目的,因为它已经有它的特定目的并且与你在这里所做的事情无关。根据NSDocument的文档:

    NSDocument 抽象类定义了 OS X 文档的接口。文档是可以在内部表示显示在窗口中的数据的对象,并且可以从文件或文件包中读取和写入数据。

    【讨论】:

    • 好的。但为什么我需要扩展 NSObject?只是好奇
    • NSObject 是大多数 Objective-C 类层次结构的根类。它定义了许多objective c对象的常见行为,如alloc、init、copy等。
    猜你喜欢
    • 2010-10-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-11
    • 1970-01-01
    • 2012-07-14
    • 2011-02-18
    相关资源
    最近更新 更多