我想訪問一個NSMutableArray,它是我的AppDelegate類的數據成員。它是在實現中合成的,並且是一個具有「名稱」NSString數據成員的自定義類的數組。訪問委託中的局部變量的正確方法是什麼?
我目前使用它來填充表視圖(子視圖)是這樣的:
cell.textLabel.text = [[[delegate contentArray] objectAtIndex:indexPath.row] name];
這工作,但我得到一個警告:
warning: no '-contentArray' method found
它不會爲編譯:
cell.textLabel.text = [[delegate.contentArray objectAtIndex:indexPath.row] name];
我得到這個在這種情況下:
error: request for member 'contentArray' in something not a structure or union
在委託中訪問數組的正確方法是什麼?
更新: 要聲明delegate
,表中的視圖控制器頭文件,我包括@class MainAppDelegate;
並在@interface
我聲明的數據成員MainAppDelegate *delegate;
。在表視圖控制器的@implementation
我做@synthesize delegate;
。
什麼是委託?它是如何聲明的? – Chuck 2010-03-03 23:33:04
我更新了帖子。我使用主AppDelegate類類型來定義從視圖控制器類中委託的代理。 – 2010-03-04 01:48:31
局部變量只在方法的範圍內,而類沒有「數據成員」。我相信你正在考慮一個實例變量,它通過一個屬性暴露出來。 – 2010-03-04 02:44:30