Ios 从解析查询中获取数组

Ios 从解析查询中获取数组,ios,arrays,uitableview,parse-platform,watchkit,Ios,Arrays,Uitableview,Parse Platform,Watchkit,我正在使用Parse创建这个表视图,并试图找出如何将Parse表数据放入一个数组,这样我就可以将它传递到WatchKit InterfaceController来显示完全相同的内容 因此,我想在WatchKit界面中准确显示iPhone界面中显示的内容。 以下是我的资料,如果我能补充一些有用的信息,请告诉我: TableVC.m: - (id)initWithCoder:(NSCoder *)aCoder { self = [super initWithCoder:aCoder];

我正在使用
Parse
创建这个表视图,并试图找出如何将
Parse
表数据放入一个数组,这样我就可以将它传递到
WatchKit InterfaceController
来显示完全相同的内容

因此,我想在WatchKit界面中准确显示iPhone界面中显示的内容。

以下是我的资料,如果我能补充一些有用的信息,请告诉我:

TableVC.m

- (id)initWithCoder:(NSCoder *)aCoder
{
    self = [super initWithCoder:aCoder];
    if (self) {
        self.parseClassName = @"na";
        self.textKey = @"dateTime";
        self.pullToRefreshEnabled = YES;
        self.paginationEnabled = NO;
    }
    return self;
}
- (PFQuery *)queryForTable
{
    PFQuery *query = [PFQuery queryWithClassName:self.parseClassName];

    return query;
}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath object:(PFObject *)object
{
    static NSString *simpleTableIdentifier = @"RecipeCell";

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:simpleTableIdentifier];
    if (cell == nil) {
        cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:simpleTableIdentifier];
    }
    UILabel *homeLabel = (UILabel*) [cell viewWithTag:101];
    homeLabel.text = [object objectForKey:@"test"];

    UILabel *dateLabel = (UILabel*) [cell viewWithTag:102];
    dateLabel.text = [object objectForKey:@"dateTime"];

    return cell;
}
解析数据

- (id)initWithCoder:(NSCoder *)aCoder
{
    self = [super initWithCoder:aCoder];
    if (self) {
        self.parseClassName = @"na";
        self.textKey = @"dateTime";
        self.pullToRefreshEnabled = YES;
        self.paginationEnabled = NO;
    }
    return self;
}
- (PFQuery *)queryForTable
{
    PFQuery *query = [PFQuery queryWithClassName:self.parseClassName];

    return query;
}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath object:(PFObject *)object
{
    static NSString *simpleTableIdentifier = @"RecipeCell";

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:simpleTableIdentifier];
    if (cell == nil) {
        cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:simpleTableIdentifier];
    }
    UILabel *homeLabel = (UILabel*) [cell viewWithTag:101];
    homeLabel.text = [object objectForKey:@"test"];

    UILabel *dateLabel = (UILabel*) [cell viewWithTag:102];
    dateLabel.text = [object objectForKey:@"dateTime"];

    return cell;
}

TableVC.m

- (id)initWithCoder:(NSCoder *)aCoder
{
    self = [super initWithCoder:aCoder];
    if (self) {
        self.parseClassName = @"na";
        self.textKey = @"dateTime";
        self.pullToRefreshEnabled = YES;
        self.paginationEnabled = NO;
    }
    return self;
}
- (PFQuery *)queryForTable
{
    PFQuery *query = [PFQuery queryWithClassName:self.parseClassName];

    return query;
}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath object:(PFObject *)object
{
    static NSString *simpleTableIdentifier = @"RecipeCell";

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:simpleTableIdentifier];
    if (cell == nil) {
        cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:simpleTableIdentifier];
    }
    UILabel *homeLabel = (UILabel*) [cell viewWithTag:101];
    homeLabel.text = [object objectForKey:@"test"];

    UILabel *dateLabel = (UILabel*) [cell viewWithTag:102];
    dateLabel.text = [object objectForKey:@"dateTime"];

    return cell;
}

我已经设置了基本的
WatchKit
文件和故事板。我硬编码了一个数组来测试它是否正常工作。但是现在我只需要将数据从
Parse
获取到那里,不确定是否需要进行查询,然后将其转换为公共
数组

编辑

我的问题是:

PFQuery *query2 = [PFQuery queryWithClassName:@"nba"];
[query2 findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) {
    if (!error) {
        // The find succeeded.
        NSLog(@"Objects 2: %@", objects);
        }
    } else {
        // Log details of the failure
        NSLog(@"Error 2: %@ %@", error, [error userInfo]);
    }
}];
这是我的NSLog:

NSLog(@“对象2:%@”,对象)

控制台:

2015-02-09 21:06:30.845 SimpleTable[8373:1284663] Objects 2: (
    "<na: 0x7ff3f8e40880, objectId: cOrjeAmwJh, localId: (null)> {\n    away = Cav;\n    date = \"04/19/2015\";\n    dateTime = \"April 19, 2015, 16:00\";\n    gNumber = 1;\n    home = Bul;\n    matup = \"Ca\";\n    ro = \"Ro \";\n    test = \"Test 2\";\n    tv = T;\n}",
2015-02-09 21:06:30.845简单表[8373:1284663]对象2:(
“{\n away=Cav;\n date=\'04/19/2015\”;\n dateTime=\'2015年4月19日16:00\”;\n gNumber=1;\n home=Bul;\n matup=\'Ca\”;\n ro=\'ro\;\n test=\'test 2\;\n tv=T;\n}”,

如果您只想将对象传递到一个数组中,可以这样做,也可以采用以下方法:

- (PFQuery *)queryForTable
{
PFQuery *query = [PFQuery queryWithClassName:self.parseClassName];

    self.someArray = [query findObjects];

return query;
}

referenece

如果您只想将对象传递到一个数组中,可以这样做,也可以使用以下方法:

- (PFQuery *)queryForTable
{
PFQuery *query = [PFQuery queryWithClassName:self.parseClassName];

    self.someArray = [query findObjects];

return query;
}

referenece

如果您只想将对象传递到一个数组中,可以这样做,也可以使用以下方法:

- (PFQuery *)queryForTable
{
PFQuery *query = [PFQuery queryWithClassName:self.parseClassName];

    self.someArray = [query findObjects];

return query;
}

referenece

如果您只想将对象传递到一个数组中,可以这样做,也可以使用以下方法:

- (PFQuery *)queryForTable
{
PFQuery *query = [PFQuery queryWithClassName:self.parseClassName];

    self.someArray = [query findObjects];

return query;
}

referenece

如果需要数组,请在
queryForTable
方法之外的方法中异步获取,如下所示:

PFQuery *query = [self queryForTable];
[query findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) {
    if (!error) {
        // objects is the array for this table
        NSMutableArray *array = [@[] mutableCopy];
        for (PFObject *object in objects) {
            NSLog(@"we got an object with dateTime = %@", [object objectForKey:@"dateTime"]);
            [array addObject:[object objectForKey:@"dateTime"]];
            // you can prove this with any of your keys: away, number, home, mat up, etc.
        }
    }
}];

如果需要数组,请在
queryForTable
方法之外的方法中异步获取它,如下所示:

PFQuery *query = [self queryForTable];
[query findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) {
    if (!error) {
        // objects is the array for this table
        NSMutableArray *array = [@[] mutableCopy];
        for (PFObject *object in objects) {
            NSLog(@"we got an object with dateTime = %@", [object objectForKey:@"dateTime"]);
            [array addObject:[object objectForKey:@"dateTime"]];
            // you can prove this with any of your keys: away, number, home, mat up, etc.
        }
    }
}];

如果需要数组,请在
queryForTable
方法之外的方法中异步获取它,如下所示:

PFQuery *query = [self queryForTable];
[query findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) {
    if (!error) {
        // objects is the array for this table
        NSMutableArray *array = [@[] mutableCopy];
        for (PFObject *object in objects) {
            NSLog(@"we got an object with dateTime = %@", [object objectForKey:@"dateTime"]);
            [array addObject:[object objectForKey:@"dateTime"]];
            // you can prove this with any of your keys: away, number, home, mat up, etc.
        }
    }
}];

如果需要数组,请在
queryForTable
方法之外的方法中异步获取它,如下所示:

PFQuery *query = [self queryForTable];
[query findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) {
    if (!error) {
        // objects is the array for this table
        NSMutableArray *array = [@[] mutableCopy];
        for (PFObject *object in objects) {
            NSLog(@"we got an object with dateTime = %@", [object objectForKey:@"dateTime"]);
            [array addObject:[object objectForKey:@"dateTime"]];
            // you can prove this with any of your keys: away, number, home, mat up, etc.
        }
    }
}];


我认为这是一个非常糟糕的想法。您所做的是使该查询在PFQueryTableVC超类调用queryForTable方法时同步运行,谁知道该方法何时调用。我认为这是一个非常糟糕的想法。您所做的是使该查询在PFQueryTableVC超类调用queryForTable时同步运行方法,谁知道什么时候。我认为这是一个非常糟糕的主意。你所做的是使该查询在PFQueryTableVC超类调用queryForTable方法时同步运行,谁知道什么时候。我认为这是一个非常糟糕的主意。你所做的是使该查询在PFQueryTableVC调用时同步运行SuperClass调用queryForTable方法,谁知道是什么时候。谢谢你的回答,这是我一直在尝试的事情。他们在文档中为类似的事情做了铺垫,但我还没有弄清楚
//objects是这个表的数组
部分中的内容。当我使用NSLog进行日志记录时,我似乎必须得到指针,不一定是数组。我在原始问题的末尾发布了上面的代码。有什么想法吗?这看起来是parse的一个健康回答,如果你读了这些乱七八糟的内容,你可以看到dateTime、away、gNumber、mat-up等键的键值对。请参阅编辑代码,以证明你有一个pfobjects数组。对,我有点类似的东西,也尝试过它的一个版本,但我感到困惑,因为它似乎只是在它上面迭代,并吐出所有单独的对象(正如您在代码中看到的那样,它每次都
NSLog
s one
dateTime
,对吗?),而不是给我一个
数组
。你知道如何才能得到
日期时间
数组
吗?比如,有没有一行或两行代码可以添加到你已有的代码中,从而将所有的
日期时间
都变成
数组
?谢谢!我就快到了!@SRMR,请参阅edit.array wi我将用所有的日期初始化。太棒了。然后我需要公开该数组,以便
WatchKit
InterfaceController.m
可以访问它吗?谢谢你的回答,这是我一直在尝试的事情。他们在文档中为类似的事情做了铺垫,但我还没有弄清楚该怎么做
//objects中的s是这个表的数组
部分。当我使用NSLog进行日志记录时,我似乎只是得到了指针,不一定是数组。我在原始问题的末尾发布了上面的代码。有什么想法吗?这看起来像是来自parse的一个健康的响应,如果你阅读了这些胡言乱语,你可以看到da等键的键值对teTime、away、gNumber、mat up等。请参阅编辑代码,以证明您有一个pfobjects数组。对,我有点类似的东西,并尝试了它的一个版本,但我感到困惑,因为它似乎只是在它上面迭代,并吐出所有单独的对象(正如您可以在代码中看到的,它一次
NSLog
s一个
dateTime
,对吗?),而不是给我一个
数组
。你知道如何才能得到
日期时间
数组
吗?比如,有没有一行或两行代码可以添加到你已有的代码中,从而将所有的
日期时间
都变成
数组
?谢谢!我就快到了!@SRMR,请参阅edit.array wi我将用所有的日期初始化。太棒了。然后我是否需要公开该数组,以便<代码