XCode 4框架 - 私有对象

时间:2011-05-06 17:01:45

标签: objective-c xcode

创建框架时有没有办法创建“私有对象”? (意思是,不会在外面导出的类)

我有一个问题,我的框架使用JSON库,当使用我的框架的项目尝试也包含JSON库时,他们会得到“已定义符号”错误。

谢谢!

  • 约阿夫。

1 个答案:

答案 0 :(得分:1)

使用Objective-C,这是不可能的。虽然有一些防止冲突的准则,例如,应该为其他人“隐藏”的成员使用前缀,并且成员变量通常也带有下划线(Apple保留使用2个下划线的权利)。您使用的是哪个JSON框架?也许考虑SBJSON如果你还没有使用它,它会使用前缀(SB)来防止碰撞。

来自Apple的文档:

  

前缀是编程接口中名称的重要组成部分。它们区分了软件的功能区域。通常,这个软件在一个框架中打包,或者(在基础和应用程序工具包的情况下)在密切相关的框架中打包。前缀可以防止第三方开发人员定义的符号与Apple定义的符号之间的冲突(以及Apple自己的框架中的符号之间)。

     

前缀具有规定的格式。它由两个或三个大写字母组成,不使用下划线或“子前缀”。以下是一些示例   NS:基金会   NS:应用套件   AB:地址簿   IB:Interface Builder

     

在命名类,协议,函数,常量和typedef结构时使用前缀。命名方法时不要使用前缀;方法存在于由定义它们的类创建的名称空间中。另外,不要使用前缀来命名结构的字段

如果您想坚持使用您使用的JSON库,并且“命名空间”是问题的原因,请考虑在您自己的类中添加前缀。