2009-08-26 18 views
0

私はいくつかの傷を付けたように誰かがこれを助けることができます&検索私は単純な列挙型のデータ型を定義しました:別のクラスの中から列挙型のデータ型にアクセスできません

typedef enum { 
    kLow = -1, 
    kMid, 
    kHigh 
} MyMode; 

そして、私にClassAにこの型のインスタンス変数を作っ:

@interface ClassA : UIView { 
    MyMode myMode; 
} 
@property (nonatomic) MyMode myMode; 
@end 

そしてはMyModeは@implementationで合成されます。今、別のクラスに私がClassBの中で、私はにClassAのはMyModeプロパティの状態をテストしたい/ wの方法では、最後にClassA

@interface ClassB : UIView { 
    ClassA *classA; 
} 
@property (nonatomic, retain) ClassA *classA; 
@end 

を参照します。私は試しました

if (classA.myMode == kLow) 

これは私に「構造体または共用体でない何かのメンバーの要求」を与えます。キャスティングは違いはありませんでした。

if ([classA myMode] == kLow) 

「いいえ-myMode」メソッドが見つかりました。

私は私のヘッダを信じ、正しい含ま

答えて

1

あなたがにClassAのプロパティを参照することができます前に、あなたはにClassAのため@interfaceを必要としています。これはClassBの@implementationの前にClassB.mの#import "ClassA.h"が必要であることを意味します。

+0

私はアホです。私は@ classAを持っていた。 @interfaceの宣言...しかし、@ implementation..andでインポートを忘れて、それを私の心の中に置いてください... garr!まあ、thx! – Meltemi

関連する問題