2013-09-25 120 views
0

我從webservice獲取一些數據。並將該數據加載到包含5個圖像的桌面視圖中,並且一些字符串數據完美地獲取併成功加載到tableview。但是當用戶點擊butoon時,一旦再次調用webservcie就會點擊。並再次在該tableview中加載該數據。只需調用WebServcie一次?

我想防止再次加載重複。我怎麼可以這樣做。

我試着保存當用戶點擊按鈕單擊保存密鑰在NsuserDefault。然後檢查密鑰是否存在沒有調用web服務,如果密鑰不預先調用webservice,但它在tablview中顯示空白。在NsDictionary中保存密鑰後。

代碼在這裏。

-(void)btnCliked 
{ 
    AppDelegate * delegate=(AppDelegate *)[[UIApplication sharedApplication]delegate]; 


    NSLog(@"%@",[delegate.def objectForKey:@"Check"]); 

    if([delegate.def objectForKey:@"Check"]) 
    { 


    } 
    else 
    { 
    delegate.str= [delegate.imgurl stringByAppendingString:@"getappdata.php"]; // Get data through php file 

    NSLog(@"%@",delegate.str); 

    NSURL * url=[NSURL URLWithString:delegate.str]; 

    NSData * data=[NSData dataWithContentsOfURL:url]; 

    NSError * error; 

    //Get json data in Dictionary 
    NSDictionary *json = [NSJSONSerialization JSONObjectWithData:data options: NSJSONReadingMutableContainers error: &error]; 

    NSLog(@"%@",json); 

    NSLog(@"%@",delegate.firstArray); 

    NSArray * responseArr = json[@"Deviceinfo"]; 

    for(NSDictionary * dict in responseArr) 
    { 
     [delegate.firstArray addObject:[dict valueForKey:@"Appname"]]; 
     [delegate.secondArray addObject:[dict valueForKey:@"Description"]]; 
     [delegate.thirdArray addObject:[dict valueForKey:@"Icon"]]; 
     [delegate.fourthArray addObject:[dict valueForKey:@"Link"]]; 

    } 

    NSLog(@"%@",delegate.firstArray); 
    NSLog(@"%@",delegate.secondArray); 
    NSLog(@"This is image path array %@",delegate.thirdArray); 
    NSLog(@"this is App Link Array %@",delegate.fourthArray); 


    [delegate.def setObject:delegate.firstArray forKey:@"Check"]; 
    [delegate.def synchronize]; 

    } 

    GetMoreAppsViewController * gmavc=[[GetMoreAppsViewController alloc]initWithNibName:@"GetMoreAppsViewController" bundle:nil]; 

    [self.navigationController pushViewController:gmavc animated:YES]; 
} 

我該如何解決這個問題。

在此先感謝..

回答

0

做這樣

1)聲明這個變量作爲全球

NSDictionary *json 

2)首先檢查這個變量時,按鈕點擊

if(json==nil) 
    { 
     // call web service 

    } 
+0

如何我可以訪問我的tablview在這個類tableViewController.fetchedObjects – Jitendra

+0

不工作g .. json沒有得到價值.. – Jitendra

+0

它爲我工作。謝謝。 – Jitendra