Cocoa 中的 NSArrayController 应用过滤器后如何从 NSArray 获取值
How to get values from an NSArray after applying filter to NSArrayController in Cocoa
我正在 cocoa 中学习绑定。我的 ArrayController 绑定到 table 视图和搜索字段。数据显示和过滤很好。
这些属性在 mutableArray.
中
@property (nonatomic, strong) NSString *displayName;
@property NSInteger entityID;
@property (nonatomic, strong) NSString *MemberStatus;
在 table 中,我显示的是 'displayName'。我的主要问题是,我需要 select 一行和 运行 使用该 selected 成员的 'entityID' 的网络服务。
如果我不过滤 select 一行,我可以使用 selected 行索引从 mutable 数组中获取所需的 'entityID' .
[[[self.participantArray objectAtIndex:selectedRow] valueForKey:@"entityID"] integerValue]
每当我过滤时,根据 selected 行索引,它自然会返回错误的值。我如何获得正确的字段?请帮忙。如果我的问题不清楚,请说明您需要什么。
谢谢。
table 视图正在显示阵列控制器的 arrangedObjects
。所以,你也应该对此进行索引。
您将需要阵列控制器的出口,以便您可以执行以下操作:
[[[self.particpantsController.arrangedObjects objectAtIndex:selectedRow] valueForKey:@"entityID"] integerValue]
(我实际上不确定你为什么在这里使用 -valueForKey:
。表达式 [self.particpantsController.arrangedObjects objectAtIndex:selectedRow]
给你对象。如果它有一个 entityID
属性 ,您可以只调用该对象上的 getter。如果它是一个 NSDictionary
,那么您应该更喜欢 -objectForKey:
而不是 -valueForKey:
。好吧,实际上,您应该更喜欢创建一个真正的模型对象 class 并使用它而不是 NSDictionary
。制作字典在玩具应用程序和原型制作中往往很有效,但很快就会显示出它的局限性。)
我正在 cocoa 中学习绑定。我的 ArrayController 绑定到 table 视图和搜索字段。数据显示和过滤很好。 这些属性在 mutableArray.
中@property (nonatomic, strong) NSString *displayName;
@property NSInteger entityID;
@property (nonatomic, strong) NSString *MemberStatus;
在 table 中,我显示的是 'displayName'。我的主要问题是,我需要 select 一行和 运行 使用该 selected 成员的 'entityID' 的网络服务。
如果我不过滤 select 一行,我可以使用 selected 行索引从 mutable 数组中获取所需的 'entityID' .
[[[self.participantArray objectAtIndex:selectedRow] valueForKey:@"entityID"] integerValue]
每当我过滤时,根据 selected 行索引,它自然会返回错误的值。我如何获得正确的字段?请帮忙。如果我的问题不清楚,请说明您需要什么。 谢谢。
table 视图正在显示阵列控制器的 arrangedObjects
。所以,你也应该对此进行索引。
您将需要阵列控制器的出口,以便您可以执行以下操作:
[[[self.particpantsController.arrangedObjects objectAtIndex:selectedRow] valueForKey:@"entityID"] integerValue]
(我实际上不确定你为什么在这里使用 -valueForKey:
。表达式 [self.particpantsController.arrangedObjects objectAtIndex:selectedRow]
给你对象。如果它有一个 entityID
属性 ,您可以只调用该对象上的 getter。如果它是一个 NSDictionary
,那么您应该更喜欢 -objectForKey:
而不是 -valueForKey:
。好吧,实际上,您应该更喜欢创建一个真正的模型对象 class 并使用它而不是 NSDictionary
。制作字典在玩具应用程序和原型制作中往往很有效,但很快就会显示出它的局限性。)