在tableview(iOS)中显示来自parse.com的数组

时间:2013-10-21 12:58:30

标签: ios parse-platform

我想在我的表视图中显示一个位于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”的数组列

logg(当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
) 

1 个答案:

答案 0 :(得分:1)

得到它的工作,确实把数组从解析中获取数据,然后只调用

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

然后我可以使用:

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