Question

I am now developing an iOS App, I am beginner, I have followed a treehouse course and do in fact the same things again with just more inputfields. I am trying to sign up from my signupviewcontroller but I keep getting the alertview, I don't understand how this could be possible, while I have specified -like in the course- just to show the alertview when the length of one of the inputsfields are 0. Even when every inputfield is filled in, I keep getting this error, who can help me solve this?

Here is the signup.m:

//
//  SignUpViewControllerLeverancier.m
//  SIKA
//
//  Created by BLANCO on 25-04-14.
//  Copyright (c) 2014 Sinan Karakurt. All rights reserved.
//

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

@interface SignUpViewControllerLeverancier ()

@end

@implementation SignUpViewControllerLeverancier


- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view.
}



- (IBAction)signupLeverancier:(id)sender {

    NSString *naamLeverancier = self.naamLeverancierField.text ;

    NSString *telefoonLeverancier = [self.telefoonLeverancierField.text stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];

    NSString *bedrijfsnaamLeverancier = self.bedrijfsnaamLeverancierField.text;

    NSString *adresLeverancier = self.adresLeverancierField.text;

    NSString *postcodeLeverancier = self.postcodeLeverancierField.text;

    NSString *stadLeverancier = self.stadLeverancierField.text;

    NSString *emailLeverancier = [self.emailLeverancierField.text stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];

    NSString *wachtwoordLeverancier = [self.wachtwoordLeverancierField.text stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];

    if  ([naamLeverancier length] == 0 ||
         [telefoonLeverancier length] == 0 ||
         [bedrijfsnaamLeverancier length] == 0 ||
         [adresLeverancier length] == 0 ||
         [postcodeLeverancier length] == 0 ||
         [stadLeverancier length] == 0 ||
         [emailLeverancier length] == 0 ||
         [wachtwoordLeverancier length] == 0)
    {

        UIAlertView *alertView = [[ UIAlertView alloc] initWithTitle:@"Leeg veld" message:@"Vul de lege velden in" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles: nil];

        [alertView show];
            }

 else {
PFUser *newUserLeverancier = [PFUser user];
newUserLeverancier[@"naamLeverancier"] = naamLeverancier;
        newUserLeverancier[@"telefoonLeverancier"]= telefoonLeverancier;
        newUserLeverancier.username = bedrijfsnaamLeverancier;
        newUserLeverancier[@"adresLeverancier"] = adresLeverancier;
        newUserLeverancier[@"postcodeLeverancier"] = postcodeLeverancier;
        newUserLeverancier[@"stadLeverancier"] = stadLeverancier;
        newUserLeverancier.email = emailLeverancier;
        newUserLeverancier.password = wachtwoordLeverancier;

       [newUserLeverancier signUpInBackgroundWithBlock:^(BOOL succeeded, NSError *error) {
            if (error) {
               UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"Sorry!" message:[error.userInfo objectForKey:@"error"] delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil];
                [alertView show];
            }
           else {
                [self.navigationController popToRootViewControllerAnimated:YES];
            }
        }];
 }
}
@end
Was it helpful?

Solution

Perhaps you didn't hook up the IBOutlets for your text fields? Try logging self.naamLeverancierField to see what it returns. If that one returns the right object, try logging the others. Forgetting to hook up outlets is often the cause of getting nil objects from a view.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top