首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用数组获取数组,但数组中的数组

用数组获取数组,但数组中的数组
EN

Stack Overflow用户
提问于 2014-04-13 14:27:47
回答 2查看 48关注 0票数 1

我有这样的数据库数据。

代码语言:javascript
复制
["{37.331622, -122.030337}","{37.331593, -122.03051}","{37.331554, -122.030681}","{37.331383, -122.030757}","{37.33108, -122.030772}","{37.330798, -122.030729}","{37.330636, -122.030636}"]

然后,我尝试通过以下代码从数据库中查询数据。

代码语言:javascript
复制
- (void)updateLocations {
    CGFloat kilometers = self.radius/1000.0f;
    //PFUser *user = [PFUser currentUser];
    PFQuery *query = [PFQuery queryWithClassName:@"Session"];
    [query whereKey:@"objectId" equalTo:@"t2udAri048"];
    [query findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) {
        if (!error) {
            NSLog(@"objects %@",objects);
            NSLog(@"path %@",[objects valueForKey:@"Path"]);
            NSArray *pointsArray = [objects valueForKey:@"Path"];;
            NSInteger pointsCount = pointsArray.count;
            CLLocationCoordinate2D pointsToUse[pointsCount];

            for(int i = 0; i < pointsCount; i++) {
                CGPoint p = CGPointFromString(pointsArray[i]);
                pointsToUse[i] = CLLocationCoordinate2DMake(p.x,p.y);
            }

            MKPolyline *myPolyline = [MKPolyline polylineWithCoordinates:pointsToUse count:pointsCount];
            [self.mapView addOverlay:myPolyline];
            //NSLog(@"Drawed %@",pointsArray);
        }
    }];
}

我得到对象的值-值- objects:@“Path”

( "{37.331622,-122.030337}","{37.331593,-122.03051}","{37.331554,-122.030681}","{37.331383,-122.030757}","{37.33108,-122.030772}",“{37.33108,-122.030729}","{37.330636,-122.030636}“)

但我希望

( "{37.331622,-122.030337}","{37.331593,-122.03051}","{37.331554,-122.030681}","{37.331383,-122.030757}","{37.33108,-122.030772}",“{37.33108,-122.030729}","{37.330636,-122.030636}“)

我该怎么办?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-04-13 14:41:18

看起来,objects是一个由一个元素组成的数组,它是一个具有"Path“属性的对象。在这种情况下,您应该替换

代码语言:javascript
复制
NSArray *pointsArray = [objects valueForKey:@"Path"];

通过

代码语言:javascript
复制
NSArray *pointsArray = [objects[0] valueForKey:@"Path"];
票数 1
EN

Stack Overflow用户

发布于 2014-04-13 15:09:07

在您的示例中,您有了objectId。如果是这样的话,就使用getObjectWithId。这将只返回您想要的对象。

PFQuery *query = PFQuery queryWithClassName:@"Session";

查询getObjectWithId:@"hr46gjh45";

您的示例返回一个对象数组;在本例中,数组只有一个对象(但它仍然是一个数组)。在这种情况下,必须首先从数组中检索对象。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23043977

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档