gpt4 book ai didi

iOS - cellForRowAtIndexPath 代码解释

转载 作者:行者123 更新时间:2023-11-29 11:01:37 27 4
gpt4 key购买 nike

完整代码如下:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath

{
static NSString *CellIdentifier = @"DetailCell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];

if (cell == nil)
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleValue2
reuseIdentifier:CellIdentifier];

NSUInteger sectionIndex = [indexPath section];
NSUInteger rowIndex = [indexPath row];

NSDictionary *section = [self.sections objectAtIndex:sectionIndex];
NSArray *rows = [section objectForKey:@"rows"];
NSDictionary *row = [rows objectAtIndex:rowIndex];
cell.textLabel.text = [row objectForKey:@"label"];
cell.detailTextLabel.text = [[self.myManagedObject valueForKey:[row objectForKey:@"key"]] description];
return cell;
}

我的问题是:

cell.textLabel.text = [row objectForKey:@"label"]; 
cell.detailTextLabel.text = [[self.myManagedObject valueForKey:[row objectForKey:@"key"]] description]; //This is NSDate
  1. 为什么这段代码使用两种不同的格式:objectForKey 和 valueForKey?
  2. 为什么不需要用 objectForKey 调用 self.myManagedObject?
  3. 描述的目的是什么?

最佳答案

Why is this code using two different formats: objectForKey & valueForKey?

why is there not a need to call self.myManagedObject with objectForKey?

self.myManagedObject 是一个 NSManagedObjectNSManagedObject 没有objectForKey: 方法。

row 是一个 NSDictionary 类型。 objectForKey: 是一个字典方法。

What's the purpose of description?

[self.myManagedObject valueForKey:[row objectForKey:@"key"]] 应该返回一个包含 NSString 类型属性的对象作为 description

它们就像一条线。您可以将其拆分为多行,如下所示

YourCustomClass *customclassObj = [self.myManagedObject valueForKey:[row objectForKey:@"key"]];

cell.detailTextLabel.text = customclassObj.description;

关于iOS - cellForRowAtIndexPath 代码解释,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15669070/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com