简体   繁体   中英

Load a view .xib in MainWindow.xib

It`s probably a very silly mistake, but I've spent over 4 days looking for a solution for this.

It is very simple, I´ve got my MainView.xib and a view called FirstViewController (h/m/xib).

In MainWindow.xib I add a UIViewController and change the class name to FirstViewController and set the Nib name also (altouhg I've tried both ways).

I guess it has to do something with outlets, but I can`t really tell, as I am a newbie developing for iOS, any help wil REALLY help a lot.

Im using XCode 3.2 and interface builder, with SDK 4.3

AppDelegate

#import <UIKit/UIKit.h>
#import <CoreLocation/CoreLocation.h>


@interface iPadTerritorioV2AppDelegate : NSObject <UIApplicationDelegate> {

    IBOutlet UIWindow *window;
    IBOutlet UIViewController *navigationController;

    NSString *devToken;

    NSString *matricula;
    NSString *campus;

        NSMutableArray *materiasAlumno; //para CCM
        NSMutableArray *busqDir; //para CCM

    NSInteger agendaBadgeNumber;
    NSInteger intramurosBadgeNumber;
    NSInteger notificacionesBadgeNumber;
    NSInteger mapaBadgeNumber;

    NSMutableData *receivedData;
    NSMutableDictionary *listData;

    BOOL yaSeHizoElPrimerFetchBadges;

}

@property (nonatomic, retain) IBOutlet UIWindow *window;
@property (nonatomic, retain) IBOutlet UIViewController *navigationController;


@property (nonatomic, retain) NSString *devToken;

@property (nonatomic, retain) NSString *matricula;
@property (nonatomic, retain) NSString *campus;

@property (nonatomic, retain) NSMutableArray *materiasAlumno;
@property (nonatomic, retain) NSMutableArray *busqDir;

@property NSInteger agendaBadgeNumber;
@property NSInteger intramurosBadgeNumber;
@property NSInteger notificacionesBadgeNumber;
@property NSInteger mapaBadgeNumber;

@property (nonatomic, retain) NSMutableData *receivedData;
@property (nonatomic, retain) NSMutableDictionary *listData;


@property BOOL yaSeHizoElPrimerFetchBadges;

- (void)fetchBadges;

@end

FirstViewController.h

#import <UIKit/UIKit.h>
#import "Constants.h"
#import "StringDecoding.h"

#define kConnectionBadgeNotifications   0
#define kConnectionLogin                1
#define kConnectionDevToken             2

#define kCCMindex   0
#define kCSFindex   1
#define kMTYindex   2

@interface FirstViewController : UIViewController {

    IBOutlet UISegmentedControl *segmentedCampus;
    IBOutlet UITextField *usernameField;
    IBOutlet UITextField *passwordField;
    IBOutlet UISwitch *remembermeSwitch;
    IBOutlet UIButton *loginButton;
    UIActivityIndicatorView *loginIndicator;

    NSMutableDictionary *listData;
    NSMutableData *receivedData;
    NSInteger connectionID;
}

@property (nonatomic, retain) UISegmentedControl *segmentedCampus;
@property (nonatomic, retain) UITextField *usernameField;
@property (nonatomic, retain) UITextField *passwordField;
@property (nonatomic, retain) UIActivityIndicatorView *loginIndicator;
@property (nonatomic, retain) UISwitch *remembermeSwitch;
@property (nonatomic, retain) UIButton *loginButton;

@property (nonatomic, retain) NSMutableDictionary *listData;
@property (nonatomic, retain) NSMutableData *receivedData;
@property NSInteger connectionID;

- (IBAction)handleNextClick:(id) sender;
- (IBAction)backgroundClick;
- (IBAction)login: (id) sender;

@end

It sounds like your FirstViewController isn't being retained - if it's not assigned to an outlet anywhere, nothing's retaining it and it'll just disappear. Add a property somewhere (your AppDelegate, perhaps, if that's all you've got) and connect it to the controller:

@property (nonatomic, retain) IBOutlet UIViewController *firstViewController;

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM