2013-07-30 3 views
0

У меня есть @property (nonatomic,retain) NSMutableArray *transfer_array; в файл .h и в моей .m я имеюДоступ к массивам в другом экземпляре класс Objective C

@synthesize transfer_array = _transfer_array; 

- (id)init 
{ 
    self = [super init]; 
    if(self) { 
     self.transfer_array = [[NSMutableArray alloc] init]; 
    } 
    return self; 
} 

и добавить объекты в массив в этой функции

- (id)display:(double)imageXX andY:(double)imageYY withName:(NSString *)namee{ 

    //if((self == [super init])){ 
    NSLog(@"````````````````````````````````````````````````````````"); 

    NSLog(@"imageX: %f",imageXX); 
    NSLog(@"imageY: %f", imageYY); 
    NSLog(@"name: %@", namee); 

    labelPoi = [[Poi alloc] init]; 
    labelPoi.imageLocationX = imageXX; 
    labelPoi.imageLocationY = imageYY; 
    labelPoi.name = namee; 
    [self.transfer_array addObject:labelPoi]; 

объекты добавить успешно бушель всякий раз, когда я пытаюсь получить доступ к элементам массива в другом случае, такие как:

- (void)viewDidLoad{ 
    [super viewDidLoad]; 

    NSLog(@"transfer_array count: %lu",(unsigned long)self.transfer_array.count); 

Затем массив пуст.

Любая помощь будет оценена!

+1

Вы имеете в виду еще один экземпляр этого класса? Массив используется только в экземпляре. Если у вас есть два экземпляра этого класса, у вас есть два отдельных экземпляра этого массива. – dasdom

+0

Не первый раз вызываете ваш viewDidLoad, а затем дисплей '- (id): (double) imageXX andY: (double) imageYY withName: (NSString *) namee {' function? Не могли бы вы добавить 'NSLog (@" transfer_array count:% lu ", (unsigned long) self.transfer_array.count);' в вашей функции отображения после добавления объекта в массив и показать нам результат? – Niklas

+0

Я вызываю отображение в другом контроллере представления до того, как этот вид загрузится. Возможно, у меня нет правильной терминологии, по сути, когда я пытаюсь использовать массив в другой функции, массив пуст – user2125844

ответ

3

Экземпляры являются независимыми объектами. Изменение внутреннего состояния одного не влияет на внутреннее состояние других.

Смежные вопросы