2011-06-29 8 views
1

アイデア?いくつかのサンプルコード、またはいくつかのアドバイスは、あなたが正しい考えを持っているように見えますTHXpickerViewとactionsheetを使用してtableViewに行を追加する方法

// add bank to tableView 
-(void)addBankFromList { 

    if (notInList == nil) { 

     UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"Could not be added" message:@"Bank already in list" delegate:self cancelButtonTitle:@"Dismiss" otherButtonTitles:nil, nil]; 

     [alert show]; 
     [alert release]; 

    } 

    else { 

//  [banksTableView insertRowsAtIndexPaths:[NSArray arrayWithObject:[NSIndexPath indexPathForRow:[banks count] inSection:0]] withRowAnimation:UITableViewRowAnimationLeft]; 
//  [banksTableView reloadData]; 
    } 
} 

// call addBankFromList method when button Add to List is touched . 
-(void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex { 

    [self addBankFromList]; 
} 

#pragma mark UIPicker Delegate and DataSource methods 
- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component { 

    for (NSString *temp in banksNotInList) 
     if (temp == [arrayWithBanks objectAtIndex:row]) { 

      notInList = [[NSMutableString alloc]initWithString:temp]; 


      NSLog(@"%@",temp); 
     } 
     else notInList = nil; 
} 

解決しよう(最初のコメントを読んで)

[appDelegate.banks insertObject:notInList atIndex:[appDelegate.banks count]]; 
     [banksTableView insertRowsAtIndexPaths:[NSArray arrayWithObject:[NSIndexPath indexPathForRow:[banks count] inSection:0]] withRowAnimation:UITableViewRowAnimationLeft]; 

     [banksTableView reloadData]; 

答えて

0

...歓迎されるだろう。論理的には、オブジェクトがすでにテーブルに存在するかどうか(すでに行っている)を確認する必要があります。そうでない場合は、それを挿入します。それは、あなたがテーブルビューをうまく扱うことにあまり慣れていない場合に問題が発生する場所です。上記のことが正しいスタートです。新しいオブジェクトを挿入するindexPathを作成したいが、実際に新しい行を挿入する前にいくつかのステップを実行したい。 numberOfRowsInSectionは更新された番号と一致する必要があります。そのため、配列からの戻り値を描画する場合は、配列を更新する必要があります。したがって、banksがあなたの配列としてtableViewセルを表示していると仮定すると、新しいオブジェクトを配列の再指定位置に挿入し、insertRowsAtIndexPaths:withRowAnimation:を呼び出します。こうすることで、tableViewがdataSourceメソッドを呼び出すときに、競合する結果が得られなくなります。要するに、データ配列を更新してから、tableViewを更新します。すべてが意味をなさないことを願っています。

+0

http://stackoverflow.com/questions/6524929/adding-array-from-one-view-to-another-and-retaining-values? – Legolas

+0

大きなthx ...今私のアプリはリストに銀行を追加することができます... –

+0

私の喜び。私は助けてうれしいですそしてそれはあなたのためのトリックをしたこと – justin

関連する問題