MVC三層架構,mvc三層

來源:互聯網
上載者:User

MVC三層架構,mvc三層
建立ViewController類 繼承 UIViewController

AppDelegate.m

#import "ViewController.h"#pragma mark - 重寫#pragma mark dealloc- (void)dealloc{    [_window release];    [super dealloc];}    //設定window    self.window = [[[UIWindow alloc] init] autorelease];    self.window.frame = [UIScreen mainScreen].bounds;    self.window.backgroundColor = [UIColor whiteColor];    [self.window makeKeyAndVisible];    // 設定根視圖控制器    ViewController *RootVC = [[ViewController alloc] init];    self.window.rootViewController = RootVC;    [RootVC release];
建立RootView類 繼承 UIView

RootView.m裡面寫

#pragma mark - 重寫#pragma mark dealloc- (void)dealloc{    [_userName release];    [_userPWD release];    [_loginButton release];    [_registerButton release];    [super dealloc];}- (instancetype)initWithFrame:(CGRect)frame{    self = [super initWithFrame:frame];    if (self) {        [self addAllViews];    }    return self;}- (void)addAllViews{    self.backgroundColor = [UIColor whiteColor];    self.userName = [[LTView alloc] initWithFrame:CGRectMake(30, 50, 260, 40) text:@"使用者名稱" placeHolder:@"請輸入使用者名稱" isSecure:NO];    [self addSubview:_userName];    [_userName release];    self.userPWD = [[LTView alloc] initWithFrame:CGRectMake(30, 100, 260, 40) text:@"密碼" placeHolder:@"請輸入密碼" isSecure:YES];    [self addSubview:_userPWD];    [_userPWD release];    self.loginButton = [UIButton buttonWithType:UIButtonTypeSystem];    self.loginButton.frame = CGRectMake(40, 160, 80, 40);    [self.loginButton setTitle:@"登入" forState:UIControlStateNormal];    [self addSubview:self.loginButton];    self.registerButton = [UIButton buttonWithType:UIButtonTypeSystem];    self.registerButton.frame = CGRectMake(150, 160, 80, 40);    [self.registerButton setTitle:@"註冊" forState:UIControlStateNormal];    [self addSubview:self.registerButton];  }
ViewController.m 裡面寫
#pragma mark - 重寫#pragma mark dealloc- (void)dealloc{    [_rootView release];    [_userName release];    [_userPWD release];    [super dealloc];}// 唯寫這三句話- (void)loadView{    self.rootView = [[RootView alloc] initWithFrame:[UIScreen mainScreen].bounds];    self.view = self.rootView;    [_rootView release];}
類比記憶體警告
#pragma mark - 類比記憶體警告- (void)didReceiveMemoryWarning{    [super didReceiveMemoryWarning];    // 如果控制器執行了 viewDidLoad 方法(進行了載入過程),並且當前控制器控制的 view 沒有顯示在 window 上,則對控制器控制的 view 進行釋放    if ([self isViewLoaded] && self.view.window == nil) {        self.view = nil;    }    NSLog(@"收到記憶體警告");    // Dispose of any resources that can be recreated.}
頁面跳轉
- (void)viewDidLoad {    [super viewDidLoad];    [self.rootView.loginButton addTarget:self action:@selector(loginButtonDidClicked:) forControlEvents:UIControlEventTouchUpInside];    [self.rootView.registerButton addTarget:self action:@selector(registerButtonDidClicked:) forControlEvents:UIControlEventTouchUpInside];}#pragma mark - loginButton 點擊事件- (void)loginButtonDidClicked:(UIButton *)sender{    NSLog(@"點擊了登入");}- (void)registerButtonDidClicked:(UIButton *)sender{    RegisterViewController *registerVC = [[RegisterViewController alloc] init];    // 類比推出頁面,進入下一級一面    [self presentViewController:registerVC animated:YES completion:nil];}- (void)viewDidLoad {    [super viewDidLoad];    [self.rooView.backButton addTarget:self action:@selector(backButtonDidClicked:) forControlEvents:UIControlEventTouchUpInside];}// 頁面跳轉-(void)backButtonDidClicked:(UIButton *)sender{    [self dismissViewControllerAnimated:YES completion:nil];}

著作權聲明:本文為博主原創文章,未經博主允許不得轉載。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.