我创建了一个名为“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
答案 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;