だからこれはここでの私の質問に基づいています
NSArrayの代わりにNSDictionaryを使用する場合のObjectiveC
noobの質問についてお詫びします。私はObjectiveCを学び始めたばかりで、本当に混乱しています。
- (void)viewDidLoad
{
[super viewDidLoad];
headers = [NSArray arrayWithObjects:@"Header Section 1 (H1)", @"Header Section 2 (H2)", nil];
events = [NSArray arrayWithObjects:@"H1 Content 1", @"H1 Content 2", nil];
myInfo = [NSArray arrayWithObjects:@"H2 Content 1", @"H2 Content 2", @"H2 Content 3", nil];
menuDetails = [[NSMutableDictionary alloc] init];
for(NSString *event in events){
[menuDetails setValue:event forKey:@"Header Section 1 (H1)"];
}
for(NSString *info in myInfo){
[menuDetails setValue:info forKey:@"Header Section 1 (H2)"];
}
}
-(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView{
return [[menuDetails allKeys] count];
}
-(NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section{
return [[[menuDetails allKeys] sortedArrayUsingSelector:@selector(localizedCaseInsensitiveCompare:)]objectAtIndex:section];
}
これを最初のセクションでは制限したいが、2番目のセクションでは制限したくない
-(NSInteger)tableView:(UITableView *)tableview numberOfRowsInSection:(NSInteger)section { return 5; }
したがって、このメソッドでセルを埋めようとすると、これを動的にする方法がよくわかりません。特定のセルがあるセクションの「キー」を確実に選択する方法がわかりません(ブロックされた行):
-(UITableViewCell *)tableView:(UITableView *) tableView cellForRowAtIndexPath:(NSIndexPath *) indexPath {
static NSString *CellIdentifier = @"OptionCellIdentifier";
MenuOptionTableCell *cell = (MenuOptionTableCell *)[tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if(cell == nil){
NSArray *nib = [[NSBundle mainBundle] loadNibNamed:@"OptionCellIdentifier" owner:self options:nil];
cell = [nib objectAtIndex:0];
}
NSDictionary *menuItem = [[menuDetails valueForKey:[[[menuDetails allKeys] sortedArrayUsingSelector:@selector(localizedCaseInsensitiveCompare:)] objectAtIndex:indexPath.section]] objectAtIndex:indexPath.row];
cell.optionName.text = [menuItem objectForKey:@"Events"];
return cell;
}
編集:GAAAHHH、フォーマットは私を殺しています。コードマークアップには入りません
これはIdkが何をすべきかです:
cell.optionName.text = [menuItem objectForKey:@ "Events"];
だから私がしたかったのは:
- セクションヘッダー1
- H1コンテンツ1
- H1コンテンツ2
- セクションヘッダー1
- H2コンテンツ1
- H2コンテンツ2
- H1コンテンツ3