2009-04-13 9 views
8

J'ai ajouté des fichiers de classe d'un autre projet à ma nouvelle fenêtre iPhone pour la première fois. La classe est une classe simple qui définit un polygone et sous-classe NSObject. Dans le cadre du modèle standard pour une classe Objective C, cette importation de définition de classe Cocoa.herreur avec l'importation <cacao/cacao.h>

#import <Cocoa/Cocoa.h> 

Cependant, tout en ajoutant cette classe, je reçois une erreur qui

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

Je don Ne le comprenez pas car la même ligne se retrouve dans une autre définition de classe (le contrôleur) dans le même projet.

+0

D'accord, je me suis trompé sur une autre classe Cocoa.h importation. Est-ce parce que sur l'iPhone vous ne pouvez pas importer du cacao.h et devez utiliser UIKit? la classe Polygon originale était pour un outil de base ... – Craig

+0

Ou devrais-je importer #import ? – Craig

Répondre

22

Les sous-classes de NSObject (au moins sur l'iPhone) n'importent pas l'en-tête Cocoa.h. Au lieu de cela, ils importent Foundation.h:

#import <Foundation/Foundation.h> 
7

Sur l'iPhone vous utilisez généralement UIKit au lieu de cacao, qui est pour Mac OS X.

#import <UIKit/UIKit.h> 

Vous pouvez importer tout le framework Foundation dans un modèle classe qui ne fait référence à aucun élément de l'interface utilisateur.

#import <Foundation/Foundation.h> 
1

Cela peut se produire lorsque vous générez une sous-classe NSManagedObject de votre modèle de données (dans un projet iPhone), je suppose que dans les versions ultérieures de XCode cela sera corrigé.

0

cible du projet -> "Créer Paramètres" -> "SDK base", puis sélectionnez "dernier OS X (OS X 10.x)"

0

j'ai eu ce problème se produit lorsque je réenregistrés accidentellement le testApp-prefix code .pch.

Ce puis supprimé le code ajoutant #import (comme mentionné ci-dessus)

Une fois que je remarqué et défais l'erreur a disparu