gpt4 book ai didi

Objective-C:访问对象中的对象字段

转载 作者:搜寻专家 更新时间:2023-10-30 20:26:17 25 4
gpt4 key购买 nike

我目前是 xcode 开发的新手,我想知道如何访问另一个对象内的对象的字段(即 Vehicle 对象内的 Car 对象)。

对于我的 cellForRowAtIndexPath 方法,我试图访问我的患者类中位于我的 Admission 类中的一个字段。我有一个包含入场对象的数组 [myList],在入场对象中,我有患者对象。

这是我在 cellForRowAtIndexPath 方法中遇到问题的代码:

static NSString *CellIdentifier = @"SimpleCell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil)
{
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];
}
NSUInteger row = [indexPath row];
cell.textLabel.text = [[admList objectAtIndex:row]admPatName];
return cell;
}

问题出在下面这一行:

cell.textLabel.text = [[myList objectAtIndex:row]??];

在 ??区域,我无法找出对该领域的正确引用。

有什么建议吗?

谢谢JR

最佳答案

像这样:

cell.textLabel.text = [[[myList objectAtIndex:row] patient] name];

或者,如果您愿意,可以这样:

Admission *admission = [myList objectAtIndex:row];
cell.textLabel.text = admission.patient.name;

我猜你遇到的问题是点语法不能直接在 [myList objectAtIndex:row] 上工作,因为编译器不知道那是什么类型的对象。

您通常可以在 Objective-C 中交替使用点或 [...] 语法,因此如果点语法不起作用,请尝试使用方括号。对于它的值(value),您可以通过转换数组对象使其使用点语法,但是所有括号有点困惑:

cell.textLabel.text = ((Admission *)[myList objectAtIndex:row]).patient.name;

关于Objective-C:访问对象中的对象字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9237055/

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