2D массив в Objective C - PullRequest
       3

2D массив в Objective C

0 голосов
/ 31 марта 2012

Я хочу создать глобальный массив, я искал NSMutableArray, потому что вы можете индексировать его.Мне нужно иметь возможность вызывать определенные строки массива и отображать через метку 1-ю часть массива и сравнивать пользовательский ввод со второй частью.

Пример: пользователь видит, нажмите «x» (это первая часть массива) и, если нажать одну кнопку, он сравнит идентификатор этой кнопки со второй частью массива.

Я не знаком с массивами в цели C, ссылки или фрагменты кода помогут!

Ответы [ 3 ]

1 голос
/ 31 марта 2012

Звучит так, будто у вас есть формат ответа на вопрос ...

То, что вы можете сделать, - это задать NSArray Вопроса объектам, которые могут выглядеть примерно как

@interface PSQuestion : NSObject

@property (nonatomic, copy)   NSString *title;
@property (nonatomic, assign) NSInteger answer;

@end

@implementation PSQuestion

@synthesize title  = _title;
@synthesize answer = _answer;

@end

Теперь вы можете иметь индексированный массив объектов, который содержит оба требуемых компонента

// Configure questions
PSQuestion *question1 = [[PSQuestion alloc] init];
question1.title  = @"Click X";
question1.answer = 2;
0 голосов
/ 31 марта 2012

Похоже, вам нужен только одномерный массив объектов, который имеет два элемента. Определите класс, состоящий из двух частей, о которых вы говорите, а затем сделайте NSMutableArray полным экземпляров этого класса.

0 голосов
/ 31 марта 2012

Мне нужно иметь возможность вызывать определенные строки массива и отображать через пометить первую часть массива и сравнить входные данные пользователей с вторая часть.

Нет проблем! NSArray или его изменяемый аналог могут хранить строки так же легко, как и любой другой объект. Это так же просто, как [mymutablearray addObject:@"mystring"];.

Пользователь видит, нажмите «x» (это первая часть массива), и если нажмите одну кнопку, он будет сравнивать этот идентификатор кнопки со второй частью массив.

Для сравнения двух массивов используйте [_array1 isEqualToArray:array2];, для сравнения строк в массиве с меткой кнопки используйте

[[array1 objectAtIndex:0]isEqualToString:myButton.titleLabel.text];

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...