我不知道,但自从使用iOS5(现在5.1)和Xcode 4(现在4.3)以来,无论如何每次都会调用ViewDidLoad。我必须从API中获取JSON输出,但是如果我将获取代码放在ViewDidLoad中,它会被每次调用。所以我的问题是,是否可以/合法(从Appstore的角度来看)使用initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
中的NSURLConnection代码?initWithNibName中的NSURLConnection?
继承人的代码
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
// Custom initialization
jsonContent=[[NSMutableData alloc]init];
stateConnection= [[NSURLConnection alloc]initWithRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"MY API"]] delegate:self startImmediately:YES];
}
return self;
}
编辑:它不工作。 NSURLConnection代码在这个方法中不起作用。所以我应该怎么做,以便它只被调用一次?
当‘viewDidLoad中’获取调用,为什么不“initWithNibName”被调用?如果你调用“initWithNibName”,那么只有“viewDidLoad”也会被调用。是不是? – Satyam 2012-03-12 10:07:24
是的,这是真的,但断点似乎不工作的方法。我是否确保连接只有第一次进行 – 2012-03-12 10:16:34