Iphone 访问JSON文件以填充UIPickerView

Iphone 访问JSON文件以填充UIPickerView,iphone,ios,json,ios6,uipickerview,Iphone,Ios,Json,Ios6,Uipickerview,在这个网站上有一个类似的问题,但由于我不能以问题的形式对这个问题再加一条评论,我选择在这里写我的,对不起,来吧 我在本地服务器上有一个JSON文件,并试图访问UIPickerView上的值。问题是我得到了一个“问号,即”?“,而不是JSON文件上的字符串。问题是什么,我如何解决?我还是个初学者,所以放松点 这是密码 #import "ViewController.h" #import "JSON.h" @interface ViewController () @end @implement

在这个网站上有一个类似的问题,但由于我不能以问题的形式对这个问题再加一条评论,我选择在这里写我的,对不起,来吧

我在本地服务器上有一个JSON文件,并试图访问UIPickerView上的值。问题是我得到了一个“问号,即”?“,而不是JSON文件上的字符串。问题是什么,我如何解决?我还是个初学者,所以放松点

这是密码

#import "ViewController.h"
#import "JSON.h"

@interface ViewController ()

@end

@implementation ViewController

@synthesize picker;
@synthesize terrainJsonArray;

- (void)viewDidLoad
{
[super viewDidLoad];

NSString *terrainString = [NSString stringWithFormat:@"http://terrainracing.com/ios/events_json.php"];

NSURL *terrainUrl = [NSURL URLWithString:terrainString];

NSData  *terrainData = [NSData  dataWithContentsOfURL:terrainUrl];

NSError *error;

self.terrainJsonArray = [NSJSONSerialization JSONObjectWithData:terrainData options:kNilOptions error:&error];

NSLog(@"%@", terrainJsonArray);

}

- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}

- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView
{
return 1;
}

- (NSInteger)pickerView:(UIPickerView *)pickerView
 numberOfRowsInComponent:(NSInteger)component {
return self.terrainJsonArray.count;
}

#pragma mark Picker Delegate Methods
- (UIView *)pickerView:(UIPickerView *)pickerView
         titleForRow:(NSInteger)row
{

return [self.terrainJsonArray objectAtIndex:row];

}
@end

首先修复委托方法-
-(NSString*)pickerView:(UIPickerView*)pickerView titleForRow:(NSInteger)row for component:(NSInteger)component
返回的是NSString而不是UIView,显然需要返回一个字符串才能工作

我可以在您的回复中看到如下内容

{"event_name":"Phoenix","date":"Oct 27","event_id":"14"}
因此,您需要获取要显示的“子项”字符串

比如说

return [[self.terrainJsonArray objectAtIndex:row] valueForKey:@"event_name"];

NSLog(@“%@”,Terraray)的输出是什么应用程序访问json,我在输出窗口上看到json数组,但仅此而已。您可以发布NSLog的控制台输出吗?