我是iOS中的newBie Development.i爲我的應用程序創建分段控件並且我想爲每個ScrollView解析不同的WebService數據爲此我使用HMSegmented Controll並設置scrollview對於它像作爲JSON數據沒有解析所有視圖
這裏我主視圖控制器包含代碼形象地比喻爲
ViewController *latest=[[ViewController alloc]initWithNibName:@"ViewController" bundle:nil];
[latest.view setFrame:CGRectMake(0, 0, self.view.frame.size.width,self.view.frame.size.height)];
latest.index=0;
[self addChildViewController:latest];
[self.scrollView addSubview:latest.view];
ViewController *latest2=[[ViewController alloc]initWithNibName:@"NavuViewController" bundle:nil];
[latest2.view setFrame:CGRectMake(320, 0, self.view.frame.size.width, self.view.frame.size.height)];
latest2.index=1;
[self addChildViewController:latest2];
[self.scrollView addSubview:latest2.view];
ViewController * latest3 =[[ViewController alloc]initWithNibName:@"NavuViewController" bundle:nil];
[latest3.view setFrame:CGRectMake(640, 0, self.view.frame.size.width, self.view.frame.size.height)];
latest3.index=2;
[self addChildViewController: latest3];
[self.scrollView addSubview: latest3.view];
然後,它包含不同的景觀,因爲我想 在我看來,或者Controller.h文件,我定義索引int變量
@property (assign) int index;
,現在我想獲取數據基於索引的,我寫我的ViewController.m文件viewDidLoad方法代碼我寫等作爲
-(void)view
{
[super viewWillAppear:animated];
[self.navuTable deselectRowAtIndexPath:self.navuTable.indexPathForSelectedRow animated:YES];
NSURL *url;
switch (self.index)
{
case 0:
url=[NSURL URLWithString:[NSString stringWithFormat:@"http://www.janvajevu.com/webservice/latest_post.php?page=%d",pageNum]];
break;
case 1:
{
NSString *urlString = @"http://www.janvajevu.com/webservice/categorylist.php?category=%E0%AA%9C%E0%AA%BE%E0%AA%A3%E0%AA%B5%E0%AA%BE%20%E0%AA%9C%E0%AB%87%E0%AA%B5%E0%AB%81%E0%AA%82&page=";
url = [NSURL URLWithString:[NSString stringWithFormat:@"%@%d",urlString,pageNum]];
}
break;
case 2:
{
NSString *urlString = @"http://www.janvajevu.com/webservice/categorylist.php?category=%E0%AA%9F%E0%AB%87%E0%AA%B2%E0%AB%87%E0%AA%A8%E0%AB%8D%E0%AA%9F&page=";
url= [NSURL URLWithString:[NSString stringWithFormat:@"%@%d",urlString,pageNum]];
}
break;
default:
break;
}
dispatch_async(kBgQueue, ^{
data = [NSData dataWithContentsOfURL: url];
[self performSelectorOnMainThread:@selector(fetchedData:) withObject:data waitUntilDone:YES];
});
-(void)fetchedData:(NSData *)responsedata
{
UIActivityIndicatorView *spinner = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleGray];
spinner.frame = CGRectMake(0, 0, 320, 44);
self.navuTable.tableFooterView = spinner;
if (responsedata.length > 0)
{
NSError* error;
self.json= [NSJSONSerialization JSONObjectWithData:responsedata options:kNilOptions error:&error];
if ([[_json objectForKey:@"data"] isKindOfClass:[NSArray class]])
{
NSArray *arr = (NSArray *)[_json objectForKey:@"data"];
[self.navuArray addObjectsFromArray:arr];
[self.navuTable reloadData];
[spinner startAnimating];
NSLog(@"Array %@",self.navuArray);
}
}
然後是加載相同數據的不同代碼的Webservice所有的索引意味着只從第一個索引Url獲取數據它是電機負載數據對於不同索引的不同分段控制,請給我解決方案。 在此先感謝。