2011-08-03 141 views
1
- (void)viewDidAppear:(BOOL)animated 
{ 
[super viewDidAppear:animated]; 
NSString *country=[[NSUserDefaults standardUserDefaults]objectForKey:@"namecountry"]; 
//url's 
NSURL *url = [NSURL URLWithString:@"someurl"]; 
ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:url]; 
[request setPostValue:country forKey:@"c_name"]; 
[request setRequestMethod:@"POST"]; 
[request setValidatesSecureCertificate:NO]; 
[request setDelegate:self]; 
[request startSynchronous]; 

NSString *response = [request responseString]; 
NSLog(@"%@",response); 
res=[[response componentsSeparatedByString:@","] retain]; 
NSLog(@"%@",[res objectAtIndex:18]); 
show=[NSString stringWithFormat:@"%@",[res objectAtIndex:18]]; 
float f=[show floatValue]; 
show=[NSString stringWithFormat:@"%.2f %%",f]; 
[show retain]; 
} 

這是顯示信息的第二個選項卡,但是當我單擊它時,它不會更新,有時會更新其隨機猜測。我希望它每次更新。並且請不要讓我使用[self.tableView reloadData];當我點擊標籤欄圖標我知道它調用該方法,所以不需要重寫。這個功能是我的viewDidAppear。 Nslog日誌提供了正確的更新值,爲什麼它不更新表格單元格。爲什麼tableviewcell沒有被更新?

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
UITableViewCell *cell = nil; 
if (indexPath.row % 2 == 0) { 
    // EVEN 
    cell = [tableView dequeueReusableCellWithIdentifier:@"EvenCell"]; 
    if (cell == nil) { 
     cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleValue1 reuseIdentifier:@"EvenCell"] autorelease]; 
     UIView *bg = [[UIView alloc] initWithFrame:cell.frame]; 
     UIColor *colour = [[UIColor alloc] initWithRed: (208.0/255.f) green: (231.0/255.f) 
                blue: (241.0/255.f) alpha: 1.0]; 
     bg.backgroundColor = colour; 
     cell.backgroundView = bg; 
     cell.textLabel.backgroundColor = bg.backgroundColor; 
     [bg release]; 
     cell.detailTextLabel.backgroundColor=[UIColor clearColor]; 
     cell.detailTextLabel.text=show; 
    } 
    cell.textLabel.text = [array objectAtIndex:indexPath.row]; 
    cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator; 

} else { 
    // ODD 

    cell = [tableView dequeueReusableCellWithIdentifier:@"OddCell"]; 
    if (cell == nil) { 
     cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleValue1 reuseIdentifier:@"OddCell"] autorelease]; 
     UIView *bg = [[UIView alloc] initWithFrame:cell.frame]; 

     UIColor *colour = [[UIColor alloc] initWithRed: (143.0/255.f) green: (169.0/255.f) 
                blue: (180.0/255.f) alpha: 1.0]; 
     bg.backgroundColor = colour; 
     cell.backgroundView = bg; 
     cell.textLabel.backgroundColor = bg.backgroundColor; 
     [bg release]; 
    } 
    cell.textLabel.text = [array objectAtIndex:indexPath.row]; 
    cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator; 


} 
return cell; 
} 

這是一個函數,我創建單元格我寫cell.detailTextLabel.text =顯示;所以它可以顯示更新值,但正如我所說,它是隨機更新或不是。可以有人告訴我問題在哪裏?順便說一句,我現在不使用奇怪的單元格,它只是概念。

回答

1

沒有與此代碼保留問題,但如果你有與電池刷新此問題的東西我會嘗試,如果它是我的代碼:

  1. 確認cellForRowAtIndexPath被稱爲
  2. NSLog()[array objectAtIndex:indexPath.row]的結果恰好在您將其分配給標籤之前確認該值是預期值。
+0

感謝您檢查所以任何想法,爲什麼它不會每次更新時,用戶在標籤欄中選擇它? –

+0

他們是正確的價值觀來到cellforrowatindexpath權利 –

+0

如果是這樣的話,那麼代碼沒有任何問題。您需要在應用程序的其他地方查看問題。 – memmons