我無法從一個類文件傳遞變量到另一個類文件。我已經嘗試過全局變量創建者extern,但這也不起作用。發佈跨類文件傳遞變量
具體而言,我試圖將一個新創建的類文件變量傳遞給主控制器NDSClassMasterViewController
,該變量名爲NDSClassSiteViewController
。
我已經添加了@property到.h文件如下:
@interface NDSClassSiteViewController : UITableViewController {
NSArray *sitesMenu;
}
@property (nonatomic, retain) NSString *siteid;
@end
然後是@synthesize到.m文件如下:
#import "NDSClassSiteViewController.h"
#import "NDSClassMasterViewController.h"
@interface NDSClassSiteViewController() {
NSMutableArray *_objects;
}
@end
@implementation NDSClassSiteViewController
@synthesize siteid;
我設置的變量.m文件如下:
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if ([segue.identifier isEqualToString:@"showMenu"]) {
NSInteger row = [[self tableView].indexPathForSelectedRow row];
//NSArray *appcell = [sitesMenu objectForKey:@"Table"];
NSLog(@"AppCell %@", sitesMenu);
NSDictionary *entry = [sitesMenu objectAtIndex:row];
self.siteid = [entry objectForKey:@"SITEID"];
NSLog(@" sample SiteView %@", siteid);
//NDSClassMasterViewController *detailController = segue.destinationViewController;
//detailController.detailItemTwo = siteid;
}
}
然後,我嘗試使用以下命令在Master View控制器中訪問它:
- (void)viewDidLoad
{
[super viewDidLoad];
globalid = siteid;
}
但我得到一個錯誤:use of undeclared identifier siteid
我真的不知道爲什麼它不會允許我使用的變量?我錯過了什麼嗎?
您沒有使用任何變量。我只看到類級屬性和私有iVars的聲明。 – CodaFi 2013-03-03 08:53:27
您將其聲明爲網站VC的一部分,但您要說的是您試圖從主VC中訪問它。你的問題是對的還是錯的? – 2013-03-03 09:01:38
那是對的,我創建了一個新的類文件調用SiteViewController,我試圖從MasterViewController中訪問一個變量。 – Jimmypooza 2013-03-03 09:08:26