2011-09-22 60 views
0

更新此主題,因爲我有一些其他的幫助解決,爲什麼我不能夠訪問方法外NSDictionarys值...更新:不能通過的NSDictionary到的UITableViewCell爲textLabel

我initalizing錯從而自動釋放了被稱爲在該方法的結尾,所以當我在該方法之外調用它時,我得到各種各樣的錯誤..

所以現在基本上我試圖分配NSDictionarys值到UITableViewCell文本里面cellForRowAtIndexPath但是我我得到這個錯誤

這裏是我如何嘗試在這一點上

// Configure the cell... 
    if(indexPath.row <= [self.sectionLetters count]){ 

     // NSObject *key = [self.sectionLetters objectAtIndex:indexPath.row]; 
     NSString *value = [self.arraysByLetter objectForKey:[self.sectionLetters objectAtIndex:indexPath.row]]; 
     NSLog(@"thingy %@", value); 

     cell.textLabel.text = value; 
    } 

    return cell; 

分配,並輸出.OUTPUT

2011-09-23 10:25:01.343 Code[6796:207] thingy (
    Honda, 
    Honda, 
    Honda, 
    Honda, 
    Honda, 
    Honda, 
    Honda 
) 
然而

,如果我註釋掉//Cell.textLabel.text = value;我得到這個輸出

.output2

2011-09-23 10:26:38.322 Code[6876:207] thingy (
    Honda, 
    Honda, 
    Honda, 
    Honda, 
    Honda, 
    Honda, 
    Honda 
) 
2011-09-23 10:26:38.323 Code[6876:207] thingy (
    Mazda, 
    Mazda, 
    Mitsubishi, 
    Mitsubishi, 
    Mitsubishi, 
    Mitsubishi, 
    Mitsubishi, 
    Mitsubishi 
) 
2011-09-23 10:26:38.325 Code[6876:207] thingy (
    Nissan, 
    Nissan, 
    Nissan, 
    Nissan, 
    Nissan, 
    Nissan, 
    Nissan 
) 
2011-09-23 10:26:38.326 Code[6876:207] thingy (
    Toyota, 
    Toyota, 
    Toyota 
) 
+0

你能發佈你的界面(.h)文件嗎? –

+0

提供.h文件顯示arraysByLetter的聲明。謝謝:) –

+0

我想這需要問...你絕對確定startSortingTheArray被稱爲BEFORE cellForRowAtIndexPath? –

回答

1

你知道什麼,我想我知道這個問題,所以我要猜測。

因爲你直接使用了arraysByLetter,所以我不相信你正在碰到綜合屬性,而是支持變量。你需要使用self.arraysByLetter(這將保留字典)。

至少,我一直在使用self.property,所​​以我不記得這是必要的還是僅僅是一種習慣。給那一槍。

+0

arrrr !!!是的,我認爲你可能是對的..我早些時候嘗試使用[self arraysByLetter],但沒有工作!真是個傻瓜!多數民衆贊成你如何稱呼一種方法:現在試試看。手指交叉。 –

+0

該死的這沒有工作... IM即時張貼我的.h文件。 –

+0

[self arraysByLetter]是getter。 如果你想使用消息發送使用[self setArraysByLetter] –

相關問題