0

次のヘッダーファイルと@synthesizeの本文ファイルを使用して「card」というクラスを作成しました。問題は、typeOfCardの値を取得しようとすると、アプリがクラッシュすることです。私は愚かですか?デバッグすると、inspctorはこの変数がintであり、正しい値を教えてくれますが、アプリがクラッシュして次のエラーが発生します。

*キャッチされなかった例外'NSInvalidArgumentException'が原因でアプリを終了しています、理由:'-[__ NSArrayM idOfImage]:認識されないセレクターがインスタンス0x190f64e0に送信されました'

#import <Foundation/Foundation.h>

enum cardType {
    hearth = 0,
    bell = 1,
    acorn = 2,
    leaf = 3
    };

@interface card : NSObject {
    int value;
    int idOfImage;
    enum cardType typeOfCard;
}

@property (assign)int value;
@property (assign)int idOfImage;
@property enum cardType typeOfCard;

@end
4

2 に答える 2

0

エラーメッセージは正しかった。少し失敗し、カードクラスの代わりにNSARRAY.idOfCardを実行しようとしました。

于 2012-11-23T16:44:05.310 に答える
0

以下を変更してみてください。

1)列挙型を次のように宣言します(ヒント:クラスと同じように、列挙型には大文字を使用します)

typedef enum {
    hearth = 0,
    bell = 1,
    acorn = 2,
    leaf = 3
} CardType;

2)@property行を修正します

@property (assign) CardType typeOfCard;

3)@synthesize typeOfCard;.mにが含まれていることを確認します

于 2012-11-23T16:45:48.790 に答える