ユーザーが選択したオプションのリストを含むテーブルビューがあります(編集ページです)。
テーブルビューは次のようになります
アップル
UITableViewCellAccessoryCheckmark
オレンジ
UITableViewCellAccessoryNone
パイナップル
UITableViewCellAccessoryCheckmark
バナナ
UITableViewCellAccessoryNone
- (void)viewDidLoad {
self.mySavedFruitsArray = [myDBOperations getMyFruitsList:[appDelegate getDBPath]:self.myId];
}
/ Customize the appearance of table view cells.
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:
(NSIndexPath *)indexPath
//-------------------------------------------------------------------------------
{
static NSString *CellIdentifier = @"PoemTypeCell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil)
{
cell = [[[UITableViewCell alloc] initWithFrame:CGRectZero reuseIdentifier:@"MyIdentifier"]autorelease];
}
NSDictionary *aDict = [self.myFruitsArr objectAtIndex:indexPath.row];
NSString *aValue = [aDict objectForKey:@"value"];
NSString *aId = [aDict objectForKey:@"key"];
cell.textLabel.text = aValue;
cell.accessoryType = UITableViewCellAccessoryNone;
NSDictionary *aSavedDict = [self.mySavedFruitsArray objectAtIndex:indexPath.row];
NSString *Value = [aSavedDict objectForKey:@"value"];
NSString *Id = [aSavedDict objectForKey:@"key"];
if ( aId == Id ){
cell.accessoryType = UITableViewCellAccessoryCheckmark;
}else
{
cell.accessoryType = UITableViewCellAccessoryNone;
}
return cell;
}
mySavedFruitsArray
- ユーザーが選択した果物を保持します。
myFruitsArr
- これには果物の共通リストがあります
UITableViewCellAccessoryCheckmark
と一致するセルを表示する方法を知りたいmySavedFruitsArray
です。
つまり、この編集ビューでは、ユーザーが選択したオプションで果物のリストを表示したいと考えています。
その方法を教えてください。
私はこのように試しましたが、役に立ちませんでした。
/ Customize the appearance of table view cells.
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:
(NSIndexPath *)indexPath
//-------------------------------------------------------------------------------
{
static NSString *CellIdentifier = @"PoemTypeCell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil)
{
cell = [[[UITableViewCell alloc] initWithFrame:CGRectZero reuseIdentifier:@"MyIdentifier"]autorelease];
}
NSDictionary *aDict = [self.myFruitsArr objectAtIndex:indexPath.row];
NSString *aValue = [aDict objectForKey:@"value"];
NSString *aId = [aDict objectForKey:@"key"];
cell.textLabel.text = aValue;
cell.accessoryType = UITableViewCellAccessoryNone;
NSDictionary *aSavedDict = [self.mySavedFruitsArray objectAtIndex:indexPath.row];
NSString *Value = [aSavedDict objectForKey:@"value"];
NSString *Id = [aSavedDict objectForKey:@"key"];
if ( aId == Id ){
cell.accessoryType = UITableViewCellAccessoryCheckmark;
}else
{
cell.accessoryType = UITableViewCellAccessoryNone;
}
return cell;
}
pls は、self.mySavedFruitsArray が常に myFruitsArr と等しくない場合があることに注意してください (ユーザーは 1 つの果物しか選択できないため)。