我仍然对Objective-C中的#import
语句感到困惑。我有一个头文件(Common.h),其中包含一些在整个应用程序中使用的常量NSString。到目前为止,我在2班使用#import "Common.h"
,我也得到一个编译错误:Objective-C#import混淆
duplicate symbol _EX_XML_URL in /Users/username/Library/Developer/Xcode/DerivedData/projectname-ffvcivanbwwtrudifbcjntmoopbo/Build/Intermediates/projectname.build/Debug-iphonesimulator/projectname.build/Objects-normal/i386/NewsView.o and /Users/username/Library/Developer/Xcode/DerivedData/projectname-ffvcivanbwwtrudifbcjntmoopbo/Build/Intermediates/projectname.build/Debug-iphonesimulator/projectname.build/Objects-normal/i386/ViewController.o for architecture i386
EX_XML_URL声明如下:
//
// Common.h
// Group of common constants used through out the application
/*
* Constant strings available to application
*/
#import <Foundation/NSString.h>
NSString* EX_XML_URL = @"http://myurl.com/xmldata"; // URL for XML data
NSString* EX_NO_CONNECTION = @"Network not availble";
NSString* EX_DEFAULT_IMAGE = @"logo.png";
我的印象(from this post)根据该#import
后卫对抗的头文件被包括两次。我在这里想念什么?
''import''可以防止头文件在同一个实现文件***中包含两次***。它消除了对C头文件熟悉的'#IFNDEF'逻辑的需求。 –