在iphone中使用字典对象键在NSMutableArray中获取对象索引sdk
问题描述:
我想从使用字典关键对象的数组中获取对象索引......但无法获取它。在iphone中使用字典对象键在NSMutableArray中获取对象索引sdk
下面是详细..
我有字典的数组....
(
{
CATEGORYID = 865;
CATEGORYNAME = "sample1";
CATEGORYTHUMBIMAGEURL = "1.jpg";
},
{
CATEGORYID = 140;
CATEGORYNAME = "sample2";
CATEGORYTHUMBIMAGEURL = "2.jpg";
},
{
CATEGORYID = 1194;
CATEGORYNAME = "sample3";
CATEGORYTHUMBIMAGEURL = "3.jpg";
}
);
在这里,我有CATEGORYID ....使用类别ID我需要得到对象索引在阵列...
代码中,我已经实现了......
int inx;
for (int i=0; i<[mutArrData count]; i++) {
NSString *str=(NSString*)[sender tag];
//NSLog(@"MY Str %@",str);
id myOjbect =(id)[sender tag];
//NSLog(@"My OBJECT %d",[myOjbect intValue]);
if ([[[mutArrData objectAtIndex:i] allKeys] containsObject:[NSString stringWithFormat:@"%d",[sender tag]]]) {
inx=i;
NSLog(@"Breaking here %d",inx);
}
}
但无法得到它,任何一个可以帮助...
答
一方面的问题是,标记是一个整数,并在上面你把它作为一个NSString,一个对象和一个整数。
假设您将阵列列为一些示例数据,但您的主要问题是allKeys正在向您返回键名称数组而不是您想要比较的值。
你想要做的是为类别ID钥匙拔出int值:
// Return matching index, or -1 for not found
-(int)indexInArray:(NSArray)array forCategoryId:(int)categoryId {
for (int i = 0; i < [array count]; i++) {
int currentCategoryId = [[[array objectAtIndex:i] valueForKey:@"CATEGORYID"] integerValue];
if (currentCategoryId == categoryId) {
return i;
}
}
return -1;
}