自定义类和@property int的奇怪内容

时间:2012-11-23 16:42:00

标签: objective-c xcode

我创建了一个名为“card”的类,其中包含以下头文件和带有@ synthesize的正文文件。问题是,当我尝试获取typeOfCard的值时,应用程序崩溃。我真傻吗?当我调试它时,激励器告诉我这个变量是一个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

2 个答案:

答案 0 :(得分:0)

错误消息是正确的。我失败了一点,我试图做NSARRAY.idOfCard而不是我的卡类。

答案 1 :(得分:0)

尝试更改以下内容:

1)声明你的枚举(提示:使用大写字母表示枚举数,与类相同)

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

2)纠正你的@property行

@property (assign) CardType typeOfCard;

3)确保你的.m

中有@synthesize typeOfCard;