2012-03-07 140 views
0

在我的循環中檢查每行並等於「是」或「否」。當循環結束時,我想知道我是否得到了「是」。循環的結果

這是我的代碼:

for(int i=0;i<[car count];i++) { 
    NSDictionary *test = [car objectAtIndex:i]; 

    if ([[test objectForKey:@"car"] isEqualToString:[test2 objectForKey:@"red"]]) { 
     NSLog(@"yes"); 
    } else { 
     NSLog(@"no"); 
    } 
} 

只想知道有多少「是」我曾在我的循環

+0

此代碼不完整。你可以修改這個,因爲很難看到你在找什麼。 – futureelite7 2012-03-07 01:33:25

+0

我只想知道在我的循環中有多少「是」 – XcodeMania 2012-03-07 01:36:07

+0

使它成爲函數,如果你得到一個yes返回true(退出循環),否則在循環後返回false – dave 2012-03-07 01:38:42

回答

1

創建一個整型變量來跟蹤積極的比賽,在循環之前將其設置爲0,然後通過1對每個正賽和環檢查你有多少得到了後加一。

NSInteger somethingFound = 0; 
for (int i = 0; i < [car count]; i++) { 
    NSDictionary *test = [car objectAtIndex:i]; 

    if ([[test objectForKey:@"car"] isEqualToString:[test2 objectForKey:@"red"]]) { 
     NSLog(@"yes"); 
     somethingFound++; 
    } else { 
     NSLog(@"no"); 
    } 
} 
if (somethingFound) { 
    NSLog("found %d", somethingFound); 
} 
+0

是的! thanx爲你提供幫助... – XcodeMania 2012-03-07 01:50:48

+0

我已經使用NSinteger thx – XcodeMania 2012-03-07 01:59:59

2

如果您正在尋找算多少「是」的結果,你拍攝的,包括類中的整數屬性,併爲您獲得的每個「是」增加1。

if ([[test objectForKey:@"car"] isEqualToString:[test2 objectForKey:@"red"]]) { 
    NSLog(@"yes"); 
    someInt++; 
} else { 
    NSLog(@"no"); 
} 
+0

thx對於你的答案,但fichek的答案看起來就像我需要的一樣。 – XcodeMania 2012-03-07 01:50:29

+0

但我的第一個回覆!沒關係。 :P – Squatch 2012-03-07 01:51:44

+0

這是幾秒鐘(我甚至沒有收到通知),所以當OP讀取它們時,它可能使我們的「回答」達到相同的分鐘數。我同意第一個答案應該被接受,但是這裏是一個+1來減少不公平的情況;) – 2012-03-07 02:17:56