gpt4 book ai didi

objective-c - 如何在 Cocoa 中将过滤器应用于 NSArrayController 后从 NSArray 获取值

转载 作者:行者123 更新时间:2023-12-03 17:02:14 25 4
gpt4 key购买 nike

我正在学习 cocoa 中的绑定(bind)。我的 ArrayController 绑定(bind)到 TableView 和搜索字段。数据显示和过滤都很好。这些属性位于 mutableArray 中。

@property (nonatomic, strong) NSString *displayName;
@property NSInteger entityID;
@property (nonatomic, strong) NSString *MemberStatus;

在表中,我显示“displayName”。我的主要问题是,我需要选择一行并使用所选成员的“entityID”运行 Web 服务。

如果我不过滤并选择一行,我可以使用选定的行索引从可变数组中获取所需的“entityID”。

[[[self.participantArray objectAtIndex:selectedRow] valueForKey:@"entityID"] integerValue] 

每当我进行过滤时,根据所选的行索引,它自然会返回错误的值。如何获取正确的字段?请帮忙。如果我的问题不清楚,请提及您的需求。谢谢。

最佳答案

表格 View 显示数组 Controller 的arrangedObjects。因此,您也应该对此进行索引。

您将需要一个阵列 Controller 的 socket ,以便您可以执行以下操作:

[[[self.particpantsController.arrangedObjects objectAtIndex:selectedRow] valueForKey:@"entityID"] integerValue]

(我实际上不确定为什么在这里使用 -valueForKey: 。表达式 [self.particpantsController.arrangedObjects objectAtIndex:selectedRow] 为您提供对象。如果它有一个 entityID 属性,你可以只调用该对象的 getter。如果它是一个 NSDictionary,那么你应该更喜欢 -objectForKey: 优于 -valueForKey:。事实上,您应该更喜欢创建一个真实的模型对象类并使用它,而不是 NSDictionary。制作字典往往在玩具应用程序中效果很好,原型(prototype)设计,但很快就显示出其局限性。)

关于objective-c - 如何在 Cocoa 中将过滤器应用于 NSArrayController 后从 NSArray 获取值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30341206/

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