Jen*_*all 2 objective-c nsmutablearray
我目前正试图NSMutableArray根据它的一个对象的属性来获取我的索引.
我有一个像这样的xml结构:
<timeperiod>
<Day>
<Date>20120325</Date>
</Day>
<Day>
<Date>20120326</Date>
</Day>
</timeperiod>
Run Code Online (Sandbox Code Playgroud)
现在,假设xml结构包含一个月中的每一天.
Day和它的所有属性都被添加到了NSMutableArray.
我想要的是:根据日期获取数组的索引.
我在伪代码中想象这样的东西:
-(NSInteger)getIndexFromObjectProperty:(NSString *)property{
// Givf index from array where date is for example 20120310
//pseudo
Return [myClassObject.ObjectArray indexFromProperty:property];
}
Run Code Online (Sandbox Code Playgroud)
我发现了这一点:按对象的属性对NSMutableArray进行排序
这将从属性中排序,但如何从属性0_0获取索引
我还发现了这个:从具有某些提供属性值的对象数组中获取索引的函数 如果语法工作开箱即可帮助很多:(
任何提示和/或指示将受到高度赞赏.
提前致谢.
编辑我正在尝试给出的答案.将获得更新.
编辑2:办公室正在把我扔掉,因为他们把建筑物锁定了......明天我会回复你的...
这真的没有我想象的那么难......
通过以下方式解决......
-(NSInteger)returnIndexFromDateProperty:(NSString *)property{
NSInteger iIndex;
for (int i = 0; i < [myArray count]; i++){
if([property isEqualToString:[[myArray objectAtIndex:i]dateProperty]]){
iIndex = i;
}
}
return iIndex;
}
Run Code Online (Sandbox Code Playgroud)
感谢所有其他答案.他们在思考过程中(很糟糕)纠正了很多.
您可以使用indexOfObjectPassingTest:方法来测试每个对象,并返回一个块BOOL.
-(NSInteger)getIndexFromObjectProperty:(NSString *)property{
return [myArray indexOfObjectPassingTest:
^(id obj, NSUInteger idx, BOOL *stop) {
// Return true if obj has the date that you are looking for.
BOOL res;
if ([property isEqualTo:[obj dateProperty]]) {
res = YES;
*stop = YES;
} else {
res = NO;
}
return res;
}];
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2214 次 |
| 最近记录: |