Objective c IOS重复接口定义

Objective c IOS重复接口定义,objective-c,ios,interface,Objective C,Ios,Interface,你好,我的.h文件中有下面的代码 import <UIKit/UIKit.h> @interface NSFont : NSObject <NSCoding> { } @end @interface NSParagraphStyle : NSObject <NSCoding> { } @end 导入 @接口NSFont:NSObject{ } @结束 @接口NSParagraphStyle:NSObject{ } @结束 我得到一个错误:

你好,我的.h文件中有下面的代码

import <UIKit/UIKit.h>


@interface NSFont : NSObject <NSCoding> {

}

@end


@interface NSParagraphStyle : NSObject <NSCoding> {

}

@end
导入
@接口NSFont:NSObject{
}
@结束
@接口NSParagraphStyle:NSObject{
}
@结束
我得到一个错误:

错误:类“NSParagraphStyle”的接口定义重复

正如一些用户所指出的,我没有包含和复制

主要进口商品

#import <UIKit/UIKit.h>
#导入
优先股

#ifdef_uuobjc__
#进口
#进口
#恩迪夫

NSParagraphStyle
已存在()


任何你为什么要使用
NS
名称空间-如果你想创建你自己的类,创建你自己的名称空间,并在类名之前加上它(即
mParagraphStyle
),这样你的paragraphStyle类就不会与内置的类冲突:)

NSParagraphStyle是在最新(未发布)版本的iOS中添加的。所以你不需要自己定义它。您可能需要更改名称,在这种情况下,不要使用NS作为前缀

这两个类都是在AppKit框架中定义的(因此,如果您是为iOS开发的,这应该不会是一个问题-除了
NS
前缀类是一个非常糟糕的主意这一事实之外)。你确定你是在做一个iOS项目吗?是的,而且在以前的Xcode上工作得很好。是否可以发布你的
main.m
prefix.pch
文件的导入?用与Apple相同的名称空间命名你的类是一个坏主意。这就是为什么我也对此发表评论的原因。问题是类是在
AppKit
框架中定义的,而不是在
UIKit
中定义的(所以从技术上讲应该是好的),不要用与Apple相同的名称空间命名类。如果苹果碰巧将类移植到UIKit,那将是一场灾难。突然,应用程序将不再编译…@futureelite7-这正是这里发生的事情:)
#ifdef __OBJC__
    #import <Foundation/Foundation.h>
    #import <UIKit/UIKit.h>
#endif