0

NSMutableArrayがあり、その中のコンテンツをNSStringと比較する必要があります。しかし、取得できませんでしたか?

私の配列

(
{
  Code=Sunday;
},
{
 Code=Monday;
},
{
Code=Tuesday;
}
)

私はこのように比較しています:

BOOL isTheObjectThere = [array containsObject:weekday];

if([arr count]==0 && isTheObjectThere==YES)
{
//do something
}
else
{
//do something
}

ここで、平日はNSStringであり、その値は日曜日です。

しかし、isTheObjectThereはNOを返しています。

どこが間違っているのですか?

4

4 に答える 4

1

この例を参照してください

NSMutableArray* array = [NSArray arrayWithObjects:@"Sunday", @"Monday", @"Tuesday", nil];

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SELF IN %@", array];
BOOL isTheObjectThere = [predicate evaluateWithObject:@"Sunday"];
NSLog(@"isTheObjectThere %d",isTheObjectThere);

その動作は正常で、isTheObjectThere 1を返します

于 2012-12-07T09:42:32.867 に答える
0
NSString *yourString = @"Monday";

for (NSString* item in inputArray){
if ([yourString rangeOfString:item].location != NSNotFound)
//Do something;

else
// Do the other Thing;
}
于 2012-12-07T11:53:49.067 に答える
0

配列には辞書要素が含まれており、key(Code) の値を取得します。

 NSMutableArray *yourArray = [[NSMutableArray alloc] init];
    for (NSDictionary *dict in array) {
        [yourArray addObject:[dict valueForKey:@"Code"]];
    }
    BOOL isTheObjectThere = [yourArray containsObject:@"Sunday"];
于 2012-12-07T09:43:18.630 に答える
0
BOOL isTheObjectThere = [array containsObject:weekday];

うまくいかない場合は、次の方法を試してください。

    NSMutableArray* inputArray = [NSArray arrayWithObjects:@"Sunday", @"Monday", @"Tuesday", nil];

for (NSString* item in inputArray)
{



if ([item rangeOfString:@"Sunday"].location != NSNotFound)


{
   //do something
  }



else


{
  //do something;
 } 

}
于 2012-12-07T09:51:27.580 に答える