我認爲這不是一個常見問題,這使得它更難回答。任何幫助,雖然讚賞。我的uitableview.delegate被設置爲null。任何想法爲什麼,或者我怎麼能弄清楚爲什麼?
我需要在我的應用程序中多次調用此委託,並且我注意到多次後,委託開始返回爲NULL(並因此停止響應)。我把一個NSLog的無處不在的委託被調用,所以我知道,在這一點上,它的罰款:
UIImage *image = [self.delegate largeThumnailForMediaAtIndex:indexPath.row];
那麼下一次這條線被調用時,委託被設置爲NULL。它周圍沒有線路調用或設置代表。我也在setDelegate方法上放了一個NSLog,並且在它變爲NULL之前沒有被調用。
您可能需要查看的任何代碼,請告訴我。任何想讓我嘗試的想法,請讓我知道。
感謝您的幫助。
編輯:奇怪,但可能有助於導致解決方案。我把一個NSTimer scheduledTimer放在了代理的類中,並且每秒鐘觸發一次,這樣我就可以看到它是否在任何時候都是空的。然而,我得到的結果是,這一次它沒有變爲空。它返回了所有的委託方法。當我將計時器取出時,它返回到返回NULL。顯然有一個計時器是一個奇怪的解決方法'解決方案'。我希望這能爲某人敲響警鐘,並讓他們知道問題可能出在哪裏?
編輯2:我已經解決了這個問題,而不是我的AppDelegate使用此代碼:
JCreateViewController *create = [[JCreateViewController alloc] init];
[create.navigationBar addLeftButtonWithTitle:@"Back" type:JButtonTypeArrow];
create.navigationBar.title = @"Entry #17";
[self.window addSubview:create.view];
聲明它在我的頭文件,然後使用此:
self.create = [[JCreateViewController alloc] init];
[self.create.navigationBar addLeftButtonWithTitle:@"Back" type:JButtonTypeArrow];
self.create.navigationBar.title = @"Entry #17";
[self.window addSubview:self.create.view];
我不明白爲什麼這會產生變化。我很想知道,如果有人知道?
你如何「設置」代表? – Ali 2012-03-13 00:26:41
'self.tableView。delegate = self;' – Andrew 2012-03-13 00:29:02
如果你已經實現了'-setDelegate:'並且沒有被調用,那麼你使用ARC並且你的'delegate'聲明爲'weak'?如果是這樣,當實際的對象被釋放時它將自動成爲'nil'。 – 2012-03-13 00:29:05