2012-05-29 4 views
0

У меня есть uitableview, который я хотел бы размыть текст, если ячейка находится в списке значений индекса, хранящихся в NSdictionary. Как вы можете видеть, у меня есть список индексирует Грею из хранящихся в NSDictionary, где я получаю нечеткий, как переместить этот список в если (условие ???)Как я могу поместить свой список значений индекса словаря в оператор if?

NSDictionary *myIndexList = [[inList objectAtIndex:0] objectForKey:@"myIndex"]; 
    NSLog(@"data from INDEX !!!!!!!! %@", myIndexList); 

    if (indexPath.row == ???myIndexList????) { 

     cell.textLabel.textColor = [UIColor lightGrayColor]; 
    } 

Большое спасибо, и я надеюсь, что этот новичок вопрос находит вас хорошо.

+0

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

+0

Я согласен с Майклом, я дал вам решение, если словарь содержит ключи, содержащие строки, которые вам нужны серым цветом, но если вы просто хотите массив индексов, вы должны использовать 'NSArray', а не' NSDictionary'. –

ответ

1
for(NSString *aKey in myIndexList) 
{ 
    if(indexPath.row == [myIndexList valueForKey:aKey]) 
    { 
     cell.textLabel.textColor = [UIColor lightGrayColor]; 
    } 
} 

Этот код будет проверять через все ключи в словаре и, если значение для конкретного ключа равно строкой он изменит цвет текста lightGrayColor.

Теперь, если вы только что вернулся myIndexList как NSArray вместо NSDictionary вы бы использовать это:

for(int n=0; n<[myIndexList count]; n++) 
{ 
    if(indexPath.row == [[myIndexList objectAtIndex:n] integerValue]) 
    { 
     cell.textLabel.textColor = [UIColor lightGrayColor]; 
    } 
} 
+0

Mannnnny thanks – AhabLives

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