2009-04-13 8 views
8

मैंने दूसरी परियोजना से कक्षा फ़ाइलों को पहली बार अपनी नई आईफोन विंडो में जोड़ा। कक्षा एक साधारण वर्ग है जो बहुभुज को परिभाषित करता है, और सबक्लास एनएसओब्जेक्ट को परिभाषित करता है। एक उद्देश्य सी वर्ग के लिए मानक टेम्प्लेट के हिस्से के रूप में, इस वर्ग परिभाषा आयात Cocoa.hआयात के साथ त्रुटि <कोको/cocoa.h>

#import <Cocoa/Cocoa.h> 

हालांकि, सिर्फ इस वर्ग को जोड़कर, मैं एक त्रुटि हो रही है कि

Cocoa/Cocoa.h:No such file or directory. 

मैं डॉन यह समझ में नहीं आता है क्योंकि एक ही प्रोजेक्ट में एक ही कक्षा परिभाषा (नियंत्रक) में सटीक समान रेखा होती है।

+0

ठीक है, मैं किसी अन्य वर्ग का आयात cocoa.h के बारे में गलत था। क्या ऐसा इसलिए है क्योंकि आईफोन पर आप cocoa.h आयात नहीं कर सकते हैं और UIKit का उपयोग करना है? मूल बहुभुज वर्ग नींव उपकरण के लिए था ... – Craig

+0

या मुझे # आयात <फाउंडेशन/फाउंडेशन.h> आयात करना चाहिए? – Craig

उत्तर

22

एनएसओब्जेक्ट के सबक्लास (कम से कम आईफोन पर) कोकोआ हेडर आयात नहीं करते हैं। इसके बजाय, वे Foundation.h आयात:

#import <Foundation/Foundation.h> 
7

iPhone पर आप आम तौर पर कोको के बजाय UIKit, जो मैक ओएस एक्स के लिए है का उपयोग

#import <UIKit/UIKit.h> 

आप एक मॉडल में सिर्फ फाउंडेशन ढांचे आयात हो सकता है कक्षा जो किसी भी उपयोगकर्ता इंटरफ़ेस सामग्री का संदर्भ नहीं देती है।

#import <Foundation/Foundation.h> 
1

यह तब हो सकता है जब आप अपने डेटामॉडल के बाहर एक NSManagedObject उपवर्ग (एक iPhone परियोजना में) उत्पन्न, मैं XCode के बाद के संस्करणों ठीक किया जाएगा में मान।

0

परियोजना लक्ष्य -> ​​"सेटिंग का निर्माण" -> "बेस एसडीके" और फिर "नवीनतम ओएस एक्स (ओएस एक्स 10.x)"

0

मैं था इस समस्या तब होती हैं जब मैंने गलती TestApp-उपसर्ग अधिलेखित कर दिया पीपी कोड।

यह फिर हटा दिया कोड जोड़ने #import (जैसा कि ऊपर उल्लेख)

एक बार मैंने देखा है और undid त्रुटि गायब हो गया

संबंधित मुद्दे