iOS - присвоение переменной свойству объекта в cellForRowAtIndexPath - PullRequest
0 голосов
/ 02 августа 2011

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

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"dd"];
int day = [[dateFormatter stringFromDate:[NSDate date]] intValue];

switch (day) {
    case 1:
        openingsDag = @"open_ma"; 
        break;
    case 2:
        openingsDag = @"open_di";
        break;
    case 3:
        openingsDag = @"open_woe";
        break;
    case 4:
        openingsDag = @"open_do";
        break;
    case 5:
        openingsDag = @"open_vr";
        break;
    case 6:
        openingsDag = @"open_za";
        break;
    case 7:
        openingsDag = @"open_zo";
        break;
    default: 
        break;
}

В cellForRowAtIndexPath я присваиваю значения свойств меткам из изменяемого массива:

cell.naamLabel.text = [[winkelArray objectAtIndex:indexPath.row] naam];
cell.openingsLabel.text = [[winkelArray objectAtIndex:indexPath.row] openingsDag];

Кажется, это не работает, я пробовал несколько других способов (stringWithFormat, cell.openingsLabel вместо cell.openingsLabel.text, ...), чтобы получить данные в метке, но просто не могу понять, что это правильно .

Ответы [ 2 ]

1 голос
/ 03 августа 2011

Мой метод вычисления дня был правильным, но мой тип возврата не был ...

-(NSString*)berekenOpeningdag:(Winkel*)w {
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"ee"];
int day = [[dateFormatter stringFromDate:[NSDate date]] intValue];

NSString *openingsUrenReturn = @"";


switch (day) {
    case 1:
        openingsUrenReturn = w.open_ma;
        break;
    case 2:
        openingsUrenReturn = w.open_di;
        break;
    case 3:
        openingsUrenReturn = w.open_woe;
        break;
    case 4:
        openingsUrenReturn = w.open_do;
        break;
    case 5:
        openingsUrenReturn = w.open_vr;
        break;
    case 6:
        openingsUrenReturn = w.open_za;
        break;
    case 7:
        openingsUrenReturn = w.open_zo;
        break;
    default: 
        break;
}
return openingsUrenReturn;

И там я ответил на свой вопрос!

0 голосов
/ 02 августа 2011

Проверьте свой формат даты. «дд» дает вам день месяца . Глядя на ваше заявление о смене, вы ожидаете день недели Строка формата даты для этого была бы "ee".

...