0

これと同じエラーが発生しますが、プロパティが .h ファイルで正しく設定されていることを確認しました。

コードは次のとおりです。NSUInteger theSizesCount = [theWho.theSizes count];

エラーは「エラー: 構造体または共用体ではないメンバー theSizes の要求です。この .m ファイルは 6 つの .h ファイルをインポートしています。そのうちの 4 つは theWho で同じプロパティを持っていますが、さまざまなスーパー クラスに関連しています。これは . m ファイルはそのうちの 1 つだけを実装しており、theWho と theSize は合成されています。

また、このコードでは、Sizes 変数は緑色ですが、Wh​​o 変数はそうではありません。さらに、NSUIntegers、NSMutableArray などの複数の場所でエラーが発生しています。

どこが間違っていますか?ヘッダー ファイル コードの一部を以下に示します。


// TheSize.h

@class TheWho;

@interface TheSize :  NSManagedObject  
{
}

@property (nonatomic, retain) NSString *name;
@property (nonatomic, retain) NSString *amount;
@property (nonatomic, retain) TheWho *theWho;
@property (nonatomic, retain) NSNumber *displayOrder;

@end

と..

//
// TheWho.h
//


@interface ImageToDataTransformer : NSValueTransformer {
}
@end


@interface TheWho : NSManagedObject {
}

@property (nonatomic, retain) NSString *instructions;
@property (nonatomic, retain) NSString *name;
@property (nonatomic, retain) NSSet *theSize;
@property (nonatomic, retain) UIImage *thumbnailImage;

@property (nonatomic, retain) NSManagedObject *image;
@property (nonatomic, retain) NSManagedObject *type;

@end


@interface TheWho (CoreDataGeneratedAccessors)
- (void)addTheSizesObject:(NSManagedObject *)value;
- (void)removeTheSizesObject:(NSManagedObject *)value;
- (void)addTheSizes:(NSSet *)value;
- (void)removeTheSizes:(NSSet *)value;
@end
4

3 に答える 3

1

宣言をもう一度確認したところ、NSSet *theSize エントリに「s」を追加する必要がありました。それらのエラーはなくなりました。助けてくれてありがとう。

于 2009-09-15T01:40:58.993 に答える
0

メンバー変数を定義する必要があります。@property ディレクティブは、基になるメンバーではなく、アクセサー メソッドを宣言します。

@interface TheWho : NSManagedObject {
    NSString *instructions;
    NSString *name;
    NSSet *theSize;
    UIImage *thumbnailImage;

    NSManagedObject *image;
    NSManagedObject *type;
}
于 2009-09-14T03:27:30.623 に答える
0

アクセスしようとしていますtheWho.theSizesが、ヘッダー ファイルによると、theWho.theSize(末尾の s なしで) 試行する必要があります。

ここに入力した方法にタイプミスがあり、直接コピーされていない場合を除きます。

于 2009-09-14T03:50:12.113 に答える