我仍然對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'邏輯的需求。 –