2015-02-10 3 views
0

Я видел несколько замечательных ответных ответов, но, похоже, не могу собрать все это вместе. В Xcode 6.1 я хотел бы создать 2D-массив со столбцами и строками (оба типа будут NSString). И я хотел бы заполнить массив в том же классе, где он объявлен. Затем я хотел бы получить доступ к значениям этого массива из других классов кода. Таким образом, мне нужно только сохранить один массив и обновить его по мере необходимости. Я понимаю, что лучше всего читать значения в программе из внешнего файла, но я очень новичок в xCode (Objective-C), и я иду очень медленно, так что это мой подход, и это то, что у меня есть (так далеко 1D только):Xcode Access многомерный массив из другого класса

@interface Criteria : NSObject 
@property (nonatomic) NSArray *columnRow; 
@end 

#import "Criteria.h" 
@implementation Criteria 
@synthesize columnRow = _columnRow; 
- (NSArray*) columnRow{ 
    return [[NSArray alloc]initWithObjects:@"c1", @"c2", @"c3", @"c4", @"c5", nil]; 
} 

я могу преобразовать это в 2D массив (все еще WIP), но не могу понять, как читать значения этого, даже плоский массив, из другой класс. Заранее благодарим за понимание.

+1

из вашего кода Я бы сказал, что вам нужен новый документ для изучения. чем он также будет содержать синтаксис подписки. – vikingosegundo

ответ

0

Я думаю, что у меня есть решение. В интерфейсе класса, назовут его MyClass, который содержит массив, создать свойство массива:

@property (nonatomic) NSMutableArray * columnRow; 

Затем, в реализации этого же MyClass, заполнить мой массив (спасибо пользователей, объясняющих добытчик ж/о сеттерах на этом сайте)

@synthesize columnRow = _columnRow; 
- (NSMutableArray*) columnRow{ 
    return [[NSMutableArray alloc]initWithObjects:@"c1", @"c2", @"c3", @"c4", @"c5", nil]; 
} 

Затем, в другом классе, реализация #import "PlayCriteria.h" и в viewDidLoad:

MyClass *myArray = [[MyClass alloc] init]; 
NSMutableArray *myChoices = [[NSMutableArray alloc] initWithArray: myArray.columnRow]; 
for (int i = 0; i < myChoices.count; i++) { 
    NSLog(myChoices[i]); 
} 

есть ли какие-либо недостатки с этим осущий ementation? Есть ли лучшие способы его достижения? Мне все еще нужна двумерная часть ...

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