IBOutletCollection NSMutable Порядок массивов в IB - PullRequest
0 голосов
/ 06 февраля 2012

Я связал набор кнопок с IBOutletCollection NSMutableArray;Я хочу, чтобы каждая кнопка воспроизводила определенный звук;Однако, связав их, я понял, что они не были добавлены ни в каком конкретном порядке.Я думаю, что конструктор интерфейса не учитывает порядок добавления кнопок.Есть ли способ, которым я мог бы получить доступ к идентификатору кнопки интерфейса через код и преобразовать его в целое число, чтобы я мог программно назначить правильный звук для правильной кнопки?

Не думаю, что это необходимо, но вот мой код:

for(int i=0;i<48;i++){
UIButton *Pad=[UIButton alloc];
[Pads addobject:Pad];
[Pad release];
[[Pads objectAtindex:i] addTarget:self action:@selector(play:) forControlEvents:UIControlEventTouchUpInside];
((UIButton*)[Pads objectAtIndex:i]).tag=i;
} 

Чтобы быть более конкретным.В конструкторе интерфейса в инспекторе атрибутов каждая кнопка имеет метку и идентификатор.Можно ли было бы изменить порядок моего массива программно, используя этот идентификатор (или метку в этом отношении)?

FIXE путем сортировки по TITLE [button currentTitle]

Ответы [ 2 ]

3 голосов
/ 06 февраля 2012

Просто установите свойство tag каждого IBOutlet на i при добавлении его к Pads.

2 голосов
/ 06 февраля 2012

IBOutletCollection не поддерживает порядок.Вот аналогичный вопрос с ответом, который упорядочивает содержимое коллекции по их позиции: Порядок набора IBOutletCollection в Интерфейсном Разработчике

...