我有一个名为Letter
的课程。在Letter的init方法中,我试图加载一个字符串数组,因此它们可以被该类的其他方法使用。
然后我根据Letter
类实例化一个对象。我希望init
调用加载数组,但是收到EXC_BAD_ACCESS
错误。
Letter.h
@interface Letter : NSObject
{
NSArray *consonants;
}
-(BOOL)typeOfLetter:(NSString *)_letter;
Letter.m
#import "Letter.h"
@implementation Letter
- (id)init {
self = [super init];
if (self) {
consonants = [NSArray arrayWithObjects:@"B",@"C",@"D",@"F",@"G",@"Ğ",@"H",@"J",@"K",@"L",@"M",@"N",@"P",@"R",@"S",@"Ş",@"T","@U",@"V",@"Y",@"Z",@"b",@"c",@"d",@"f",@"g",@"ğ",@"h",@"j",@"k",@"l",@"m",@"n",@"p",@"r",@"s",@"ş",@"t",@"u",@"v",@"z",nil];
}
return self;
}
ViewController.m
- (void)viewDidLoad
{
[super viewDidLoad];
BOOL retValue;
Letter *letter = [[Letter alloc] init];
retValue = [letter typeOfLetter:@"a"];
}
我在这里做错了什么?
答案 0 :(得分:3)
您忘记在其中一个字符串前添加@
在您的数组中,您拥有此字符"@U"
,您必须将其更改为@"U"