Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/43.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
iPhone JSON问题_Iphone_Ios_Json - Fatal编程技术网

iPhone JSON问题

iPhone JSON问题,iphone,ios,json,Iphone,Ios,Json,我会试着让它快点: 我有一个外部类,它从webservice解析JSON(JSON本身很好,我已经在本地完成了,现在我正在使其可通过web访问),然后这些值将用于比较。但是我不能在任何情况下访问变量。我的目的是分析它们一次,并能够随时访问它们 正在从应用程序委托加载解析器: - (void)applicationDidFinishLaunching:(UIApplication *)application{ ld =[[ loader alloc] init]; [ld parse]; }

我会试着让它快点:

我有一个外部类,它从
webservice
解析JSON(JSON本身很好,我已经在本地完成了,现在我正在使其可通过web访问),然后这些值将用于比较。但是我不能在任何情况下访问变量。我的目的是分析它们一次,并能够随时访问它们

正在从应用程序委托加载解析器:

- (void)applicationDidFinishLaunching:(UIApplication *)application{ 
ld =[[ loader alloc] init];
[ld parse];
}
连接完成加载的内容

jsonString = [[NSString alloc] initWithData:re encoding:NSUTF8StringEncoding];

//NSLog(@"LOADER %@", jsonString);

SBJsonParser *parser = [SBJsonParser new];

se = (NSMutableDictionary *)[parser objectWithString:jsonString];

searchR = [se objectForKey:@"menu"]; 

s = [[[NSMutableArray alloc] initWithArray:[searchR objectForKey:@"tip1"] ] retain];

NSLog(@"TROLL2 %@", [s objectAtIndex:0  ]);
这是正确的

但是,在viewDidLoad末尾加载的第一页中:

    lt = [[loader alloc] init];
    NSLog(@"CALLED %@", [lt.s objectAtIndex:0] );
这返回null,在任何人询问之前,
s
是loader类的属性。 只是想知道我是否需要一个回调来确保类被正确加载,或者我只是度过了一个愚蠢的一天,从第一页开始就错误地调用了它

 Here's the `timestaps`:
 2011-07-28 13:59:07.183 [44330:40b] TROLL2 top aaaft
 2011-07-28 13:59:07.371 [44330:40b] CALLED (null)

感谢您花时间阅读此

难道您不需要访问应用程序代理而不是初始化一个新的应用程序代理吗

MyAppDelegate*委托=(MyAppDelegate*)[[UIApplication sharedApplication]委托]


NSLog(@“调用%@,[delegate.lt.s objectAtIndex:0])

您不需要访问应用程序代理而不是初始化一个新的应用程序代理吗

MyAppDelegate*委托=(MyAppDelegate*)[[UIApplication sharedApplication]委托]


NSLog(@“调用%@,[delegate.lt.s objectAtIndex:0])

我以前尝试过使用单例,但它导致了巨大的错误,我将在解析器中再次尝试,委托中也不包含值,委托包含对开始解析的加载程序类的调用,它是我要从不同类访问的加载程序,它怎么可能是“[delegate.LT.s objectAtIndex:0]”如果我不想做一个加载器类的新实例?我的错误是。。。我错过了一些东西。如果'ld'是一个属性,你应该能够从那里访问's'属性。另外,如果你要在第一页初始化它,你不需要像在'applicationdFinishLaunching'中那样调用'parse'方法吗?我想问题是解析不能足够快地返回,我在委托中调用解析,parse类中用于确认输出的打印出现在加载的第一页的null打印之后。委托解析调用(用于解析类):1。登录页NSLog:2。解析类:3我以前尝试过使用单例,但它导致了巨大的错误,我将在解析器中再次尝试,委托中也不包含值,委托包含对开始解析的加载程序类的调用,它是我要从不同类访问的加载程序,它怎么可能是“[delegate.LT.s objectAtIndex:0]”如果我不想做一个加载器类的新实例?我的错误是。。。我错过了一些东西。如果'ld'是一个属性,你应该能够从那里访问's'属性。另外,如果你要在第一页初始化它,你不需要像在'applicationdFinishLaunching'中那样调用'parse'方法吗?我想问题是解析不能足够快地返回,我在委托中调用解析,parse类中用于确认输出的打印出现在加载的第一页的null打印之后。委托解析调用(用于解析类):1。登录页NSLog:2。解析类:3