Ошибка: переменная не является CFArray - PullRequest
0 голосов
/ 21 марта 2012

Я пытаюсь создать пользовательский UITableViewCells, следуя этой статье . Я добавляю розетки для трех полей в ячейке. Я беру данные, хранящиеся в NSMutableArray, и помещаю их в метки пользовательских ячеек. При отладке я вижу данные в элементах исходного массива, но это в метках ячеек: «переменная не является CFArray». Очевидно, это не работает ... вот код:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    NSLog(@"--> cellForRowAtIndexPath");

    static NSString *CellIdentifier = @"siteTableCell";

    SiteListingsCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    if (cell == nil) {
        cell = [[SiteListingsCell alloc]
                initWithStyle:UITableViewCellStyleDefault 
                reuseIdentifier:CellIdentifier];
    }

    // Configure the cell...
    cell.staLabel.text = [self.staLabels objectAtIndex: [indexPath row]];
    cell.descLabel.text = [self.descLabels objectAtIndex:[indexPath row]];
    cell.dateLabel.text = [self.dateLabels objectAtIndex:[indexPath row]];

    return cell;
}

Это определение метки:

@interface SiteListingsCell : UITableViewCell  {

}

@property (nonatomic, strong) IBOutlet UILabel *staLabel;
@property (nonatomic, strong) IBOutlet UILabel *descLabel;
@property (nonatomic, strong) IBOutlet UILabel *dateLabel;

@end

Это определение sArray:

@interface sArray : NSObject  {  //  class (struct) to hold site information

}

@property (nonatomic, readwrite) NSString *sSiteID;
@property (nonatomic, readwrite) NSString *sInitialSTA;
@property (nonatomic, readwrite) NSString *sElev;
@property (nonatomic, readwrite) NSString *sJobDesc;
@property (nonatomic, readwrite) NSString *sJobDate;

@end

ОБНОВЛЕНИЕ: этот код вызывается, когда я хочу заполнить sArray и переместить значения в пользовательские метки ячеек:

- (void) displaySites {

    NSLog(@"displaySites");

    //  get list of sites and place them in sArray
    slSQLite *dbCode = [[slSQLite alloc] init];
    [dbCode getListOfSites];

    //  put site data into array for display
    NSLog(@"\n2-The array listOfSites contains %d items", dbCode.listOfSites.count);
 //   sArray *sa = [[sArray alloc] init];  // initialize sArray object

    for(int i = 0; i <dbCode.listOfSites.count; i++)  {
        sArray *sa = [dbCode.listOfSites objectAtIndex:i];  //  get the sArray out of listOfSites

        staLabels =  sa.sSiteID;
        descLabels = sa.sJobDesc;
        dateLabels = sa.sJobDate;
    }
    return;
}

Как мне исправить это, чтобы оно работало?

1 Ответ

0 голосов
/ 21 марта 2012

Попробуйте сделать:

staLabels.text =  sa.sSiteID;

т.д ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...