zoukankan      html  css  js  c++  java
  • iOS全局变量的声明和使用

    在一个项目中,我们可能需要定义几个全局变量,在我们程序的任何位置都可以进行访问,提高我们的开发效率。在iOS中我们如何来实现呢?我们主要使用的是AppDelegate类来实现。如下:

    (1)AppDelegate.h:

    1. #import <UIKit/UIKit.h>  
    2.   
    3. @interface AppDelegate : UIResponder <UIApplicationDelegate>  
    4.   
    5. @property (strong, nonatomic) UIWindow *window;  
    6.   
    7. @property (strong,nonatomic) NSString *myName;//声明一个全局变量;  
    8.   
    9.   
    10. @end  

    (2)ViewController.m

    这个是第一个页面。

    1. #import "ViewController.h"  
    2. #import "AppDelegate.h"   //需要引入这个头文件;  
    3.   
    4.   
    5. @interface ViewController ()  
    6.   
    7. @end  
    8.   
    9. @implementation ViewController  
    10.   
    11. - (void)viewDidLoad {  
    12.   [super viewDidLoad];  
    13.     
    14. }  
    15.   
    16. - (void)viewDidAppear:(BOOL)animated{  
    17.     
    18.   [super viewDidAppear:true];  
    19.     
    20.   AppDelegate *app = [[UIApplication sharedApplication] delegate];  
    21.     
    22.   NSLog(@"%@",app.myName);  
    23.   app.myName = @"第一个页面";  
    24.     
    25. }  
    26.   
    27.   
    28. @end  


    (3)SecondViewController.m

    这个是第二个页面。

    1. #import "SecondViewController.h"  
    2. #import "AppDelegate.h"  
    3.   
    4. @interface SecondViewController ()  
    5.   
    6. @end  
    7.   
    8. @implementation SecondViewController  
    9.   
    10.   
    11. - (void)viewDidLoad {  
    12.   [super viewDidLoad];  
    13.     
    14. }  
    15.   
    16. - (void)viewDidAppear:(BOOL)animated{  
    17.   
    18.   AppDelegate *app = [[UIApplication sharedApplication] delegate];  
    19.   NSLog(@"%@",app.myName);  
    20.     
    21.   app.myName = @"第二个页面";  
    22.     
    23. }  
    24.   
    25. @end  


    最后在两个页面之间跳转,输出结果如下:

    这表示我们对同一个变量进行了操作。为什么在AppDelegate中可以声明全局变量呢?因为使用了单例,AppDelegate就是一个单例的类,实现了UIApplicationDelegate这个委托。只要我们在程序的任何地方声明了AppDelegate的对象,这个对象就是唯一的,所以就可以实现全局变量

  • 相关阅读:
    【Codeforces Round #435 (Div. 2) A B C D】
    【Codeforces 851D Arpa and a list of numbers】
    预科班第三次考试试卷总结
    python判断结构总结
    《Python程序设计(第3版)》[美] 约翰·策勒(John Zelle) 第 4 章 答案
    《Python程序设计(第3版)》[美] 约翰·策勒(John Zelle) 第 2 章 答案
    《Python程序设计(第3版)》[美] 约翰·策勒(John Zelle) 第 1 章 答案
    python函数总结
    python字符串、列表和文件对象总结
    python字符串格式化之format
  • 原文地址:https://www.cnblogs.com/sunfuyou/p/7119827.html
Copyright © 2011-2022 走看看