我无法从一个类文件传递变量到另一个类文件。我已经尝试过全局变量创建者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