【发布时间】:2009-10-04 06:38:24
【问题描述】:
在 Cocoa-Touch iPhone 应用程序中,如果我将名为 List 的类添加到我的 Xcode 项目中,我会收到此错误:
objc[25878]:类列表已实现 在 /usr/lib/libobjc.A.dylib 和 /用户/史蒂夫/图书馆/应用程序 支持/iPhone 模拟器/用户/应用程序/4883BE28-51DA-493C-9D8A-28FD026708F4/重复类Test.app/重复类 测试。将使用两者之一。 哪一个是未定义的。
我还没有使用 List 类——我刚刚将它添加到项目中。
如果类被重命名,错误就会消失。知道可能导致此错误的原因是什么吗? Apple 是否有自己的 List 类?
【问题讨论】:
-
因为 ObjectiveC 不支持命名空间,所以在你的类名前加上一些东西通常是个好主意。 Apple 经常使用 NS 和 UI(以及其他),我使用我的首字母。如果我编写一个列表类,我会称之为我的 JBList。它有助于避免此类错误,尤其是如果 Apple 决定在未来添加类似的类。
-
@jbrennan:我知道 Objective-C 中的前缀约定;但是,我认为只有在要共享类时才需要为类添加前缀(即它们将在您自己的项目之外使用)……但是,经过这次体验后,我可能会养成为我所有的前缀添加前缀的习惯类...
标签: iphone objective-c cocoa-touch