2013-05-07 80 views
0

我有一個for循環,但不能從外循環訪問變量:訪問變量環

for (int i = 0, j = 0, k = 0, l = 0; i < [array1 count] && j < [array2 count] && k < [array3 count] && l < [array4 count]; i++ && j++ && k++ && l++) 
{ 

    NSDictionary *_myDict = [NSDictionary dictionaryWithObjectsAndKeys:[array1 objectAtIndex:i], @"Apples", [array2 objectAtIndex:j], @"Oranges", [array3 objectAtIndex:k], @"Grapes", [array4 objectAtIndex:l], @"Plums", nil]; 


} 

從作品裏面訪問它。

我嘗試過使用單例和實例方法,但它仍然無法訪問並始終返回nil。

我很想擁有它的全局變量,但不能在循環中聲明它。

+0

您試圖訪問哪個變量? – 2013-05-07 20:55:29

+0

感謝您的快速回復,我試圖訪問整個詞典_myDict。 – 2013-05-07 20:57:05

+0

在for循環之外聲明它?可以幫助你嗎? – Floris497 2013-05-07 21:01:42

回答

0
NSMutableArray *rows = [NSMutableArray array]; 
for (int i=0, j=0, k=0, l=0; 
    i < [array1 count] && j < [array2 count] && k < [array3 count] && l < [array4 count]; 
    i++, j++, k++, l++) 
{ 
    NSMutableDictionary *row = [NSMutableDictionary dictionary]; 
    [row setObject:[array1 objectAtIndex:i] forKey:@"Apples"]; 
    [row setObject:[array2 objectAtIndex:j] forKey:@"Oranges"]; 
    [row setObject:[array3 objectAtIndex:k] forKey:@"Grapes"]; 
    [row setObject:[array4 objectAtIndex:l] forKey:@"Plums"]; 
    [rows addObject:row]; 
} 

現在連接您的arrayControllerrows陣列,設置它的行類的NSMutableDictionary,並使用@「蘋果」等在列綁定。希望解決它。

+0

我想使用它的NSPredicate,並且我使用了綁定,但是我只能使用過濾的結果做到這一點,一旦我可以訪問字典... – 2013-05-07 21:34:26

+0

並且我正在填充我的NSTableView,但並非如此結果,因爲NSMutableDictionary _myDict在任何過濾之前已經爲空。 – 2013-05-07 21:36:49

+0

@JeremiahSmith使用'rows'數組,您可以將'NSPredicate'應用於[rows filteredArrayUsingPredicate:predicate]'。或者將謂詞設置爲'arrayController',無論你需要什麼。 – 2013-05-07 21:37:46