繁体   English   中英

ios:NSArray containsObject:NSIndexPath

[英]ios: NSArray containsObject: NSIndexPath

我对NSArray containsObject方法有些困惑。 此方法是否比较指向对象的指针或对象的确切内容? 更具体地说:我之前在某个地方创建了一个NSIndexPath对象数组,现在我要检查是否存在一个NSIndexPath对象,该对象的row = 2和section =1。如果我编写以下代码,是否可以工作?

[[self arrayOfPathes] containsObject: [NSIndexPath indexPathForItem: 2 inSection: 1]];

我已经测试了该代码,并且对我有用,但是我事先对指针而不是对象的内容进行比较有不好的经验(顺便说一句,该代码对我有用,并且已被批准用于应用商店,但后来有很多用户报告有关它造成的错误)。

您是否尝试过在文档中查找NSArray方法containsObject? 它说:

该方法通过向每个数组对象发送isEqual:消息(并将anObject作为参数传递给每个isEqual:消息)来确定anObject是否存在于数组中。

因此,如果有问题的对象实现isEqual来比较对象的设置而不是比较地址,则它将起作用。

NSIndexPath上的文档没有告诉您是否实现了isEqual方法的自定义实现,但我想它确实实现了。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM