2013-06-12 34 views
0

我提出这个简单的类:对于某些复合对象,什么是一个好钥匙?

@interface BGPairButtonCatalog : NSObject 

@property (readonly,nonatomic) UIButton * btnButton; 
@property (readonly,nonatomic) BGReviewsTablesatProfile * rtpReviewsTables; 

-(id)initWithBtn:(UIButton*) btnButton andReviewsTablesatProfile: (BGReviewsTablesatProfile *) rtpReviewsTables; 
@end 

现在,我想这个类的一个NSDictionary对象。

NSDictionary必须通过btnButton进行搜索。

但是,btnButton对于NSDictionary并不是一个好的关键。

所以也许是一个btnButton元素。什么?地址?

+0

你可以走简约路线,并使用一个简单的字符串来表示的按钮。只需以描述按钮上下文的方式命名字符串即可。或者,将一个属性添加到可以是整数的类中,然后为其分配一个唯一值,并在数组中存储/搜索而不是字典。 – Jeremy

+0

如何获取按钮的地址作为字符串? –

回答

0

如果您尚未使用的btnButtontag财产,我会建议生成一个唯一的整数(使用一个计数器和发电机的方法,例如)并将其分配给每个按钮。然后只需在按钮标签的[NSNumber numberWithInteger:]上索引NSDictionary即可。

您可以查找得到的目录对象,像这样:

BGPairButtonCatalog *catalog = (BGPairButtonCatalog *)self.btnIndex[@(keyButton.tag)]; 
相关问题