所以我正在创建一个获取用户当前位置的应用程序,然后将纬度和经度坐标发送到此URL以查看附近有哪些所需的商店。我能够做我刚刚提到的一切,但不知道如何阅读网页内容的内容,并用它来形成一个表格视图/以最短的距离安排它等。我做了一些研究,发现这是JSON,并设法使用NSJSONSerialization将URL中的内容解析为NSDictionary。我不确定的是如何阅读包含JSON语法的NSDictionary的内容。我需要像' name',' distance','格式化地址'以及通过排序'距离'来安排我的数据在UITableView中。按升序排列。
以下是我从网址获取的JSON脚本的屏幕截图:
答案 0 :(得分:0)
这是您访问不同场地NSArray
的方法:
NSArray* locationsArray = jsonDictionary[@"response"][@"venues"];
从那里您可以访问所有位置数据。我将为这些位置创建一个新的模型类,其CLLocation
属性用于存储经度和纬度以及距离属性。迭代数组并实例化模型,同时计算距设备当前位置的距离:
NSMutableArray *locationObjectsArray;
for (NSDictionary *locationDict in locationsArray)
{
Location *newLocation = [Location alloc] initWith...];
newLocation.distance = [newLocation.coordinate distanceFromLocation:deviceLocation];
[locationObjectsArray addObject:newLocation];
}
NSArray * results = [sortedLocations sortedArrayUsingDescriptors:@[[[NSSortDescriptor alloc] initWithKey:@"distance"
ascending:YES]]];
这应该为您提供一系列按设备距离排序的位置,您现在可以在表格中显示这些位置。