2013-05-27 3 views
0

Я создал приложение StoryBoard segue, содержащее 1-й классViewController и 2-й CheckListTableController. Категория (кнопки) мудрый Я открываю другой список вопросов в виде таблицы CheckListTableController.Как сохранить цвет TableViewCell при переключении контроллеров в iOS

Я установил флажок и снимите флажок и соответствующий цвет в ячейке tableView. Я взял NSMutableArray и добавил indexPath к этому, чтобы установить конкретный цвет в ячейку.

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

Любая идея, как это сделать. Заранее спасибо.

Отредактированный с запросом 26Aug13

Теперь мне нужно такую ​​же функциональность с помощью Plist файла или Ключевых данных. Таким образом, пользователь может сохранять сеансы задачи и получать доступ к ней позже. Например. в первом сеансе, который он проверил, отметьте галочкой отметку для здания ABC, а затем сохраните сеанс. Сессия вторая снова проверила/unchk активность для другого места XYZ местоположения, затем сохранена.

Какой способ подходит именно здесь. Файл Plist или основные данные? Можете ли вы перенаправить меня на конкретное решение.

Редактировать с некоторым Кодексом

Catergory_ViewController.m 

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender 

{ 
if([segue.identifier isEqualToString:@"chkListTable"]) 
{ 
    NSString *bldgArrayString = [[NSString alloc] initWithFormat:@"bldg"]; 
    checkListTableViewController *chk= segue.destinationViewController; 

    chk.gotquestArrayString = bldgArrayString; 

} 
} 



checkListTableViewController.m 


- (void)viewDidLoad 
{ 
[super viewDidLoad]; 
if ([gotquestArrayString isEqual:@"bldg"]) 
{ 

    buildingQuest = [[NSMutableArray alloc]initWithObjects:@"Motor vehicles are not parked in the space", 

        @"Lightning protection system (Electronic)", 

        @"Lightning protection systems available on all buildings", 

        @"Reception facilities in order and not damaged", 
} 
} 
//tableView button method where indexPath added to MutableArray 
-(void)yesAction:(id)sender 
{ 
arrayCheckUnchek = [[NSMutableArray alloc]init]; 
UIButton *button = (UIButton *)sender; 
UITableViewCell *cell = (UITableViewCell *)button.superview.superview; 
UITableView *curTableView = (UITableView *)cell.superview; 
NSIndexPath *indexPath = [curTableView indexPathForCell:cell]; 
cell.backgroundColor = [UIColor greenColor]; 
[arrayCheckUnchek addObject:indexPath]; 
} 

- (void)tableView: (UITableView*)tableView 
willDisplayCell: (UITableViewCell*)cell 
forRowAtIndexPath: (NSIndexPath*)indexPath 
{ 
// UITableViewCell *Cell = [myChklist cellForRowAtIndexPath:indexPath]; 
if ([arrayCheckUnchek containsObject:indexPath]) 
{ 
    cell.backgroundColor = [UIColor greenColor]; 
} 
} 
+0

при загрузке состояние таблицы вид пут и измените цвет фона ячейки на основе этого массива. – Balu

+0

Я поставил некоторый код. Вы не могли бы проверить. –

+0

Что случилось, когда вы так пробовали? – Balu

ответ

0

1.you нужно сохранить NSMutable массива в Plist файл или в UserDefaluts всякий раз, когда вы изменили выбор (проверено/непроверенный) в то время, то вам следует обновить Plist или userdefaluts 2. Просмотрите свой файл plist в методе ViewWillApper в вашем контроллере tableview. и передать эти данные в свой "arraycheckuncheck"

надеюсь, что он будет работать для вас

счастливым icoding ....

  • NSAnant
+0

Я получил ваша точка использования UserDefaults. Но какой будет мой код в ViewDidLoad после сохранения только массива, как мне получить цвета ячеек? –

+0

вам следует создать массив словаря, чтобы вы могли сохранить любое количество данных/свойств для одной ячейки , означает цвет, данные ячейки, ячейку ischeked или нет, тип ячейки и т. д., и использовать это в методе cellForRow Datasource для вашего табличного представления. [массив objectAtindex: indexpath.row]; [mutableDict objectForKey: @ "Color"]; И вам не нужно писать какой-либо код в методе ViewDidLoad, я предлагаю вам написать лет ur в методе ViewWillApper и просто перезагрузите табличный вид – NSAnant

+0

Да, gr8. Я следовал твоему предложению. Его работа –

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