如何从数组中获取给定属性具有相同值的对象?

时间:2011-06-04 19:44:47

标签: objective-c nsarray foundation

我正在编写新的iOS SSH客户端的服务器列表部分,我有一个模型RWServer,目前看起来像这样*:

@interface RWServer : NSObject <NSCoding> {
  NSString *_hostname;
  NSUInteger _port;
  NSString *_password;
}

@property(nonatomic, copy)   NSString *hostname;
@property(nonatomic, assign) NSUInteger port;
@property(nonatomic, copy)   NSString *password;

@end

在我的服务器列表控制器中,我在-[<UITableViewDataSource> tableView:cellForRowAtIndexPath:]方法中有以下内容:

// self.servers is an instance of NSArray
RWServer *server = [self.servers objectAtIndex:indexPath.row];
cell.textLabel.text = server.hostname;

问题在于,当用户配置了多个具有相同主机名但端口号不同的服务器时,他们无法将它们彼此区分开来。为了解决这个问题,我想将端口号附加到标签的文本中,但我不知道如何检索数组中具有相同主机名的项目,所以有人可以帮我解决这个问题吗?任何帮助表示赞赏。


*是的,保存后所有内容都已加密。

1 个答案:

答案 0 :(得分:1)

(根据要求重新发布我自己的评论)

我想到的是拥有一个NSDictionary,其中键是主机名,对象将是所有服务器的数组,包含其端口和密码等等。

很高兴有所帮助! :)