Используя выбранную строку UIPickerView, чтобы определить, какой массив добавить в - PullRequest
0 голосов
/ 10 марта 2011

Итак, я настроил UIPickerView для отображения различных данных UITableView в зависимости от того, какой компонент выбран.Таблица заполняется массивами, и представление выбора в основном просто сообщает таблице, какой массив использовать.

Я хочу, чтобы пользователь мог добавлять информацию в каждый отдельный массив и, таким образом, изменять каждое отдельное представление таблицы.Тем не менее, у меня возникли небольшие проблемы с доступом к строке PickerView в IBAction, который я создал.

У меня есть кнопка «add», которая вызывает IBAction, который добавляет пользовательский ввод в массив.Когда у меня возникают проблемы, я говорю, к какому массиву добавить входные данные.

Это то, что у меня есть:

-(IBAction)postToWall:(id)sender {


[userInput resignFirstResponder];
NSString *userInputString;
userInputString=userInput.text;


[otherPosts addObject:[[NSMutableDictionary alloc]
                       initWithObjectsAndKeys:userInputString,@"post", @"Jeff.png",@"picture",nil]];

[wallTable reloadData];
[userInput setText:@" "];
[sendButton setEnabled:NO];

}

Моя интуициядобавить оператор If, который в основном говорит: «если строка средства выбора равна 0, то добавить в этот массив» и «если строка средства просмотра равна 1, то добавить в этот массив».Это возможно?Как мне поговорить со сборщиком и настроить заявление if?Извините, я немного новичок во всем этом.

Спасибо, ребята, действительно ценю это!

Ответы [ 2 ]

0 голосов
/ 10 марта 2011

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

и использовать [currentArray addObject:];в вашем - (IBAction) postToWall: (id) метод отправителя

0 голосов
/ 10 марта 2011

Мое предложение,

Создайте единый массив, который будет работать с источником данных для вашего представления таблицы. Когда вы выбираете любую строку средства выбора, созданного вашим массивом для отображения, и вызываете источник данных, что-то вроде этого,

объявить массив в .h

NSMutableArray *dataArray;

сделайте это свойство и синтезируйте его

и выделите его в viewDidLoad и отпустите.

и в сборщике Просмотреть делегата

 - (void)pickerView:(UIPickerView *)thePickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component {

     if(row==0)
       {
           [dataArray addObjectsFromArray:Array1];
      }
    else
    {
      [dataArray addObjectsFromArray:Array2];
    }

 [self.table reloadData];
}
...