Вот первый класс:
@interface ClassA : NSObject {
NSMutableArray* array1;
NSArray* array2;
}
@property (nonatomic, assign)NSMutableArray* array1;
@property (nonatomic, assign)NSArray* array2;
-(id) initWithData:(NSString*)string1 andWords:(NSString*)string2;
@end
@implementation ClassA
@synthesize array1;
@synthesize array2;
-(id) initWithData:(NSString*)string1 andWords:(NSString*)string2
{
if ((self = [super init]))
{
array1 = [[NSMutableArray alloc] initWithCapacity:[string1 length]];
for (int i=0; i < [array1 length]; i++)
[array1 addObject:[NSString stringWithFormat:@"%c", [string1 characterAtIndex:i]]];
array2 = [string2 componentsSeparatedByString:@";"];
NSLog(@"array1 = %@", array1);
NSLog(@"array2 = %@", array2);
}
return self;
}
- (void) dealloc
{
[array1 release];
[array2 release];
[super dealloc];
}
@end
Вот второй класс:
@interface ClassB : NSObject {
ClassA* classA;
}
@property (nonatomic, assign)ClassA* classA;
У меня проблемы с получением доступа к свойствам ClassA, которые хранятся в ClassB.
Например, я хочу сделать что-то вроде:
// print out the arrays stored in Class B
NSLog(@"%@",[[classB classA] array1]);
NSLog(@"%@",[[classB classA] array2]);
array1 печатает нормально, но выдает array2 и выдает ошибку EXC_BAD_ACCESS.Я предполагаю, потому что
array2 = [string2 componentsSeparatedByString:@";"];
распределяется неправильно.