从iOS中的其他类访问变量

时间:2014-03-12 07:01:42

标签: ios global-variables

我对IOS的发展很陌生。我知道这是一个愚蠢的问题,但我真的不知道这个。我有两节课。让我们假设A类中的A和B.我有一个名为x的变量。我需要在班级B中使用这个变量x。我该怎么做?请用代码示例解释我

这是我在login.h中的代码

#import <UIKit/UIKit.h>
#import "jsonpaser.h"
@interface LoginView : UIViewController
{
NSString* PERSON_ID;
}


@property (strong,nonatomic) IBOutlet UIScrollView *scroler;
@property (strong, nonatomic) IBOutlet UITextField *userName;
@property (strong, nonatomic) IBOutlet UITextField *passWord;
@property (strong,nonatomic) jsonpaser* jp;
@property(nonatomic,retain) NSString* PERSON_ID;


@end

在我的login.m类中有一个方法。我在该方法中为我的PERSONID变量设置了一些值

 PERSON_ID = [[responseObject valueForKey:@"d"]objectForKey:@"PersonId"];

这是我的tableviewcontroler.h类

#import <UIKit/UIKit.h>
#import "LoginView.h"
@interface TableViewController : UITableViewController <UITableViewDataSource>
{
LoginView* classobj;
NSString* personIDFromLogin;
}


@property (strong,nonatomic) NSArray* googlePlaces; 
@property (strong,nonatomic) NSArray* finishedArray;
@property (weak, nonatomic) IBOutlet UIBarButtonItem *sidebarButton;
@property(retain,nonatomic) LoginView* classobj;
@property(retain,nonatomic) NSString* personIDFromLogin;
@end

这是我的tableview.m类

- (void)viewDidLoad
{
[super viewDidLoad];

LoginView* login = [[LoginView alloc]init];
NSString* x = login.PERSON_ID;
NSLog(@"X Variable : %@",x);

NSString* webPath = @"GetAppointmentRequests";
NSString* webURL = [NSString stringWithFormat:@"%@%@",BaseURLString,webPath];
NSDictionary* params = [NSDictionary dictionaryWithObjectsAndKeys:x,@"caregiverPersonId", nil];

NSLog(@"PARAMETERS :%@",personIDFromLogin);


jsonpaser* parser = [[jsonpaser alloc]init];
[parser getWebServiceResponce:webURL :params success:^(NSDictionary *responseObject){



}];

}

修改

我用以下链接解决了我的问题...谢谢大家。对不起我的英语和语法错误。 refer this

1 个答案:

答案 0 :(得分:0)

基本上,当您打开新的view时,您必须发送变量的值,即UITableViewController

TAB Button操作

[self performSegueWithIdentifier:@"tableViewControllerSegue" sender:sender];

并在prepareForSegue:方法中将variable值作为

传递
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
    if ([segue.identifier isEqualToString:@"tableViewControllerSegue"])
    {   TableViewController *tableViewController = [segue destinationViewController];  
        tableViewController.personIDFromLogin = PERSON_ID;
    }
}