[英]How do I look for bool values in array?
我有一個對象數組,每個對象包含一個帶有yes或no的bool值。 我想將所有帶有YES的對象復制到另一個數組。 我怎樣才能做到這一點? 我曾考慮過使用謂詞過濾數組或將其集成到for循環中,但我似乎無法正確處理。
我需要這樣的東西:
for (BOOL* opslag_Set in [dataSource allKeys]){
NSArray *array = [dataSource objectForKey:opslag_Set];
for (int j = 0; j < [array count]; j++) {
if ([[array objectAtIndex:j] isEqualToString:@"YES"]) {
add object to another array;
}
}
}
我數組的第一個對象:
},
{
Dato = "2012-11-07 16:20:57 +0000";
Forfatter = "Vej 51, st. tv.";
Indhold = "Referat af beboerm\U00f8de";
"Opslag_set" = 0;
Overskrift = "Beboerm\U00f8de";
Prioritet = 0;
Svar = (
{
Dato = "2012-11-07 16:23:07 +0000";
Forfatter = "6. tv.";
Indhold = "Fedt fedt fedt";
}
);
},
您必須使用NSNumber
才能將布爾值存儲在數組中。
假設您的布爾數組稱為boolArray
,則僅使用YES
來獲取數組的代碼將如下所示:
NSMutableArray* temp = [NSMutableArray new];
for (NSNumber* value in boolArray)
{
if ([value boolValue])
{
[temp addObject:[NSNumber numberWithBool:YES]];
}
}
但是,為什么要嘗試這樣做? 這將返回一個具有一定數量相同元素的數組。 如果需要的話,您可以只數一下。 我能想到的另一件事是,您有一個帶有bool屬性的對象,在這種情況下,您可以輕松地修改上面的代碼。
編輯:好的,我們假設我們有一個名為MyDataObject
的對象,該對象具有bool屬性MyDataObject
NSNumber* boolProperty
。 這是代碼:
NSMutableArray* temp = [NSMutableArray new];
for (MyDataObject* value in boolArray)
{
if ([value.boolProperty boolValue])
{
[temp addObject:value];
}
}
這應該適合您的工作。 temp
將引用原始對象-不會復制它們。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.