【发布时间】:2011-06-14 21:37:59
【问题描述】:
这可能是一个非常愚蠢的错误,但我已经花了 4 多天的时间寻找解决方案。
这很简单,我有我的 MainView.xib 和一个名为 FirstViewController (h/m/xib) 的视图。
在 MainWindow.xib 中,我添加了一个 UIViewController 并将类名更改为 FirstViewController 并设置了 Nib 名称(尽管我尝试了两种方式)。
我想这与插座有关,但我不能说清楚,因为我是一个为 iOS 开发的新手,任何帮助都会有很大帮助。
我使用 XCode 3.2 和界面生成器,以及 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
【问题讨论】:
-
按惯例调用视图“xxxxxxController”是不好的。 这是一个视图,而不是一个控制器! ;)
-
您是否尝试过在 Xcode 中从头开始创建基于视图的项目并查看其设置?
-
@WTP 因为我基本上将 iPhone 应用程序移植到 iPad,为了保持一致性,我坚持使用源文件的名称
-
@Dancreek 这可能行得通,让我检查一下 xD
-
@WTP Apple 有这个命名约定的原因是视图归视图控制器所有。是的,它是一个视图,但它属于视图控制器。因此它是视图控制器 .xib 文件。