iOS如何NSMutableArray检查它是否包含NSNumber对象?

 杜亮亮喜欢2602936263 发布于 2023-02-11 11:19

我正在编写一些代码,这些代码将使用NSMutableArray并在其中存储int值,包含在NSNumbers中.

我想确认使用具有相同值的新NSNumber查询iOS NSArray或NSMutableArray是合法的,如果我需要显式迭代数组,并检查每个int值是否等于我想要测试的值?

这似乎有效:

NSMutableArray* walkableTiles = [NSMutableArray array];    


[walkableTiles addObject:@(1)];
[walkableTiles addObject:@(2)];
[walkableTiles addObject:@(3)];


if([walkableTiles containsObject:@(1)])
{
    DLog(@"contains 1"); //test passes
}
if([walkableTiles containsObject:[NSNumber numberWithFloat:2.0]])
{
    DLog(@"contains 2");//test passes
}
if([walkableTiles containsObject:[NSNumber numberWithInt:3]])
{
    DLog(@"contains 3");//test passes
}

rmaddy.. 16

你做的很好.为什么不呢?

containsObject:方法实际上遍历数组并isEqual:在传入您要检查的对象的每个对象上调用该方法.

顺便说一句 - 这里没有什么特别的用法NSNumber.对于任何对象类型的数组都是一样的.只要对象的类具有有效的isEqual:方法,它就可以工作.

撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有