[英]Equivalent of Python's `dict.get('key', None)` in Objective-C NSMutableArray?
在objective-c中有没有办法查询一个对象的NSMutableArray
,并且如果我要查询的索引超出范围,它不会崩溃,但是会返回一些预定义的值?
像Python这样的东西可以用于dict
类型的对象,您可以在其中执行dictionary.get('key', None)
,如果该键不在字典中,则返回None
。
我的用例是这样的(不是实际的代码):
@property (nonatomic, strong) NSMutableArray *array;
@property (nonatomic) int capacity;
- (void)viewDidLoad
{
self.array = [NSMutableArray array];
}
- (void)adder:(NSNumber)number
{
[self.array addObject:number];
}
- (void)checker
{
for (int i = 0; i < self.capacity; i++) {
if ([self.array someMethodToTellIfThereIsAValueAtIndex:i]) {
NSLog(@"We have a value");
}
}
}
您可以使用indexOfObject
检查对象的索引,如果找不到该对象,则将返回NSNotFound
。 所以:
index = [self.array indexOfObject:someObject];
if(index != NSNotFound)
NSLog(@"We have a value at index %lu", index);
编辑 :在注释中的每个会话,似乎您要检查是否在索引处存在任何对象,而不是获取特定对象的索引。
为此,您需要做的就是确保您要检查的索引小于要查询的数组的count
,并且是一个非负整数。
if(i < self.array.count)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.