У меня есть массив в классе:Objective-C: Вызов изменяемый массив в объекте
SeqModel.h:
#import <Cocoa/Cocoa.h>
@interface SeqModel : NSObject {
NSMutableArray *stepVolume;
}
-(void) initStepVolume;
-(void) setStepVolume:(char)stepnumber
volume:(char)volume;
-(NSMutableArray *) stepVolume:(char)stepnumber;
@end
и SeqModel.m:
#import "SeqModel.h"
@implementation SeqModel
-(void) initStepVolume
{for (char i=0;i<65;i++){
[stepVolume addObject: [NSNumber numberWithChar:64]];
}
[stepVolume addObject:nil];}
-(void) setStepVolume:(char)stepnumber
volume:(char)volume;
{[stepVolume replaceObjectAtIndex:stepnumber withObject:[NSNumber numberWithChar:volume]];}
-(NSMutableArray *) stepVolume:(char)stepnumber
{return [stepVolume objectAtIndex: stepnumber];}
@end
В моем NSView я создаю объект и инициализирую его без ошибок или предупреждений:
@implementation BeatView
- (id)initWithFrame:(NSRect)frame{
self = [super initWithFrame:frame];
if (self) {
seq1 = [[SeqModel alloc] init];
[seq1 initStepVolume];
}
return self;
}
Но функция позже вызов, как этот
char temp = [seq1 [stepVolume objectAtIndex: [NSNumber numberWithChar:4]]]
дает мне «Использование необъявленной идентификатора" stepVolume»в редакторе. Искал и обыскал и не нашел решения. Что я делаю не так? Благодарю.
Спасибо.Но почему массив такой разный? У меня много других переменных (ints, chars и strings), и все они работают, не будучи собственностью. – fw2601