2015-01-14 3 views
-2

Мне нужно передать класс PassengerNavi серверу данных Parse предоставить авторизованным пользователям. А затем запишите данные в NSString. И как получить данные из PFUser я не знаю, мне очень нужна помощь разработчикам)отправить данные в другой ViewController

Мой файл ViewController.m:

#import <CloudKit/CloudKit.h> 
#import <Parse/Parse.h> 
#import "PassengerNavi.h" 
#import "ViewController.h" 
#import "RegistrationConsole.h" 

@interface ViewController() 

@end 

@implementation ViewController 

- (void)viewDidLoad { 
    [super viewDidLoad]; 
} 

- (void)didReceiveMemoryWarning { 
    [super didReceiveMemoryWarning]; 
} 

- (IBAction)authorizationController:(id)sender { 
    [PFUser logInWithUsernameInBackground:self.username.text 
           password:self.password.text block:^(PFUser *user, NSError *error) 
    { 
     if (!error) { 

      PassengerNavi *PassengerViewController = [[PassengerNavi alloc]initWithNibName:@"PassengerNavi" bundle:nil]; 
      [self presentViewController:PassengerViewController animated:YES completion:nil]; 
     } else { 
      UIAlertView *errorAlertView = [[UIAlertView alloc]initWithTitle:@"British Airways" message:@"Your have Business Class ticket. Please use First Class ticket or contact with British Airways customer center." delegate:nil cancelButtonTitle:@"Close" otherButtonTitles:nil, nil]; 
      [errorAlertView show]; 
     } 
    }]; 
} 

- (IBAction)registrationController:(id)sender { 
    RegistrationConsole *RegistrationViewController = [[RegistrationConsole alloc]initWithNibName:@"RegistrationConsole" bundle:nil]; 
    [self presentViewController:RegistrationViewController animated:nil completion:nil]; 
} 

@end 

Мой PassengerNavi.m:

#import "ViewController.h" 
#import <Parse/Parse.h> 

@interface PassengerNavi() 

@end 

@implementation PassengerNavi 

- (void)viewDidLoad { 
    [super viewDidLoad]; 

    [[[[UIApplication sharedApplication] delegate] window] rootViewController]; 

    PFQuery *test = [PFQuery queryWithClassName:@"_User"]; 
    [test whereKey:@"google" equalTo:[PFUser currentUser]]; 
    [test whereKey:@"objectId" equalTo:[NSNumber numberWithInt:1]]; 
    NSArray *arrayofObjectIds = [test findObjects]; 

    PFQuery *query = [PFUser query]; 
    [query whereKey:@"objectId" containedIn:arrayofObjectIds]; 
    NSArray *followingArray = [query findObjects]; 
    NSLog(@"%@",followingArray); 

    self.clubWorldID = followingArray; 

    self.view.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"ba_fc_wallpaper.jpg"]]; 
} 

- (void)didReceiveMemoryWarning { 
    [super didReceiveMemoryWarning]; 
} 

- (IBAction)britishDialler:(id)sender { 
    BACalling *CallerViewController = [[BACalling alloc]initWithNibName:@"BACalling" bundle:nil]; 
    [self presentViewController:CallerViewController animated:YES completion:NULL]; 
} 

- (IBAction)britishMessenger:(id)sender { 
    BAMessenger *MessengerViewController = [[BAMessenger alloc]initWithNibName:@"BAMessenger" bundle:nil]; 
    [self presentViewController:MessengerViewController animated:YES completion:nil]; 
} 

- (IBAction)personalProfileView:(id)sender { 
    PersonalProfile *PersonalViewController = [[PersonalProfile alloc]initWithNibName:@"PersonalProfile" bundle:nil]; 
    [self presentViewController:PersonalViewController animated:YES completion:nil]; 
} 

- (IBAction)aboutSoftwareView:(id)sender { 
    AboutSoftware *AboutViewController = [[AboutSoftware alloc]initWithNibName:@"AboutSoftware" bundle:nil]; 
    [self presentViewController:AboutViewController animated:YES completion:nil]; 
} 

@end 
+0

Как вы представляете свой второй контроллер представления? – Chris

+0

Это зависит от того, как вы переходите ко второму режиму viewController. Вы переходите через действие кнопки - подключено на раскадровке? Или вы представляете viewController через код внутри вашего файла класса? –

+0

Есть так много учебников, доступных для передачи данных между диспетчерами. [Как это] (http://www.infragistics.com/community/blogs/torrey-betts/archive/2014/05/29/passing-data-between-view-controllers-ios-obj-c.aspx). Никаких жестких чувств, но, по крайней мере, поиск до публикации вопроса, это будет полезно в будущем. Надеюсь это поможет. –

ответ

0

Попробуйте этот код :

SecondViewController *vc = [[SecondViewController alloc] init]; 
vc.usernameObjectId  = // <-- however you store/produce the value in FirstViewController 

После этого, нажмите/дисплей/все vc.

FYI: Это лучше объявить NSString собственность как:
@property (copy, nonatomic) NSString *...

+0

Как инициализировать это имя пользователяObjectId в другом классе? Можете ли вы позвонить мне в FaceTime? –

+0

@Dmitriy Это другой вопрос. Вы спросили, как ** передать ** информацию. Если вам нужно знать, как ** генерировать ** данные, задайте вопрос об этом. – mbm29414

+0

Когда я открываю другой ViewController, я получаю пустые данные –

Смежные вопросы