Как я могу получить доступ к @public NSArray
или NSMutableArray
после его обновления? Из одного класса в другой?
Я могу получить к нему доступ с помощью вызова -(id)init
.. при запуске программы, но если я хочу обновить его позже, я получаю ноль. В чем проблема?
Простой пример кода:
MyFirstClass.h
#import <Foundation/Foundation.h>
@interface MyFirstClass : NSObject
{
@public
NSArray *testArray;
}
-(IBAction)Button:(id)sender;
@end
MyFirstClass.m
#import "MyFirstClass.h"
@implementation MyFirstClass
- (id)init {
if (self = [super init]) {
//I can take this Array from here
//testArray = [NSArray arrayWithObjects: @"first", @"second", @"third", nil];
}
return self;
}
-(IBAction)Button:(id)sender {
//How take this Array?
testArray = [NSArray arrayWithObjects: @"first", @"second", @"third", nil];
}
@end
SimpleClass.h
#import <Foundation/Foundation.h>
#import "MyFirstClass.h"
@interface SimpleClass : NSObject
{
MyFirstClass *other;
}
-(IBAction)ButtonGet:(id)sender;
@end
SimpleClass.m
#import "SimpleClass.h"
#import "MyFirstClass.h"
@implementation SimpleClass
-(IBAction)ButtonGet:(id)sender {
other = [[MyFirstClass alloc] init];
if(other->testArray) {
NSLog(@"Working!");
}
else { NSLog(@"Not working!"); }
}
@end
Созданный пример имеет две кнопки в * .xib. Одна кнопка с именем «Button» (MyFirstClass) и другая «ButtonGet» (SimpleClass). Поэтому при запуске программы нужно нажать «Button», а затем «ButtonGet», после этого NSLog должен написать «Working!» если он получает testArray, а если нет - «Не работает!». Всегда отображается «Не работает!».