0

というクラスがありLetterます。Letter の init メソッドでは、文字列の配列をロードしようとしているので、そのクラスの他のメソッドで使用できます。

Letter次に、クラスに基づいてオブジェクトをインスタンス化しています。配列をロードするための呼び出しを期待していinitますが、代わりにEXC_BAD_ACCESSエラーが発生しています。

Letter.h

@interface Letter : NSObject
{
    NSArray *consonants;
}

-(BOOL)typeOfLetter:(NSString *)_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"];

}

ここで間違っていることは何ですか?

4

1 に答える 1

3

文字列の前に文字列を追加するのを忘れた@配列にこの文字があり、次の"@U"ように変更する必要があります@"U"

于 2012-06-10T12:17:33.723 に答える