4

parse.com のデータベースにある配列をテーブル ビューに表示しようとしています。配列の最初の項目は表示できますが、残りの項目は表示できません。

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath object:(PFObject *)object {
    static NSString *CellIdentifier = @"Cell";
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    if(cell==nil){
        cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:CellIdentifier];
    }   
    _ListArray = [object objectForKey:@"content"];
    NSLog(@"OBJECT = %@",_ListArray);
    NSString *cellValue = [NSString stringWithFormat:@"%@", [_ListArray objectAtIndex:indexPath.row]];

    cell.textLabel.text = cellValue;

    if(refresh <counter)
    {
        NSString *br = @"<br>";
        List = [NSString stringWithFormat:@"%@%@%@", List, br, cell.textLabel.text];
        NSLog(@"%@",List);
        refresh ++;
    }       
    cell.accessoryType =UITableViewCellAccessoryDisclosureIndicator;

    return cell;
}

私が使用しようとすると:

-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
    return [_ListArray count];
}

私はテーブルに何も得ません。

編集更新:

self.ListArray を削除し、_ListArray を使用しました。

h ファイル内:

NSMutableArray *ListArray;
...
@property (retain, atomic) NSMutableArray *ListArray;

そしてmファイルで:

@synthesize ListArray = _ListArray;

に関して:

self.ListArray = [object objectForKey:@"content"];

オブジェクトは PFObject です。

解析からデータを取得する queryForTable があります。

- (PFQuery *)queryForTable {

    PFQuery *query = [PFQuery queryWithClassName:@"List"];
    [query whereKey:@"user" equalTo:[PFUser currentUser]]; // user
    [query whereKey:@"objectId" equalTo:[theListID objectId]]; // the specific list
    counter =[query countObjects];
    NSLog(@"%d",counter);

    // If Pull To Refresh is enabled, query against the network by default.
    if (self.pullToRefreshEnabled) {
        query.cachePolicy = kPFCachePolicyNetworkOnly;
    }

    // If no objects are loaded in memory, we look to the cache first to fill the table
    // and then subsequently do a query against the network.
    if ([self.objects count] == 0) {
        query.cachePolicy = kPFCachePolicyCacheThenNetwork;
    }

    [query orderByDescending:@"createdAt"];

    return query;

}

そして objectForKey:@"content"]; に content は、解析中のクラスの列の名前であるため、取得したいクラスのオブジェクトを指定する必要があります。これは、「content」という名前の配列列です。

ログ (アレイで NSLog がアクティブな場合)。

Inköpslista[7856:12e03] Warning: A long-running Parse operation is being executed on the main thread. 
 Break on warnParseOperationOnMainThread() to debug.
2013-10-21 14:23:31.008 Inköpslista[7856:12e03] 1
2013-10-21 14:23:31.017 Inköpslista[7856:12e03] OBJECT = (
    "Br\U00f6d",
    Anka,
    Boll,
    Sko
)
2013-10-21 14:23:31.017 Inköpslista[7856:12e03] <html><body><br>Bröd
2013-10-21 14:23:31.545 Inköpslista[7856:12e03] OBJECT = (
    "Br\U00f6d",
    Anka,
    Boll,
    Sko
) 
4

1 に答える 1

1

動作するようになり、解析からデータを取得して配列を配置し、呼び出しのみを行いました

cell.textLabel.text = [_ListArray objectAtIndex:indexPath.row];

そして、私は使用することができます:

-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
    return [_ListArray count];
}
于 2013-10-22T14:14:13.343 に答える