国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

iOSUI進階03

2019-11-14 18:28:45
字體:
來源:轉載
供稿:網友

導航控制器

1.導航控制器永遠顯示的是棧頂控制器的view

2.導航控制器中做界面之間的跳轉必須拿到導航控制器

3.調用pop方法并不會馬上銷毀當前控制器

4.popToViewController使用注意點,傳入進去的控制器必須是導航控制器棧里面的控制器

5.導航條的內容由棧頂控制器決定,一個導航控制器只有一個導航條,因此只能由一個控制器決定,誰先顯示在最外面,誰就是棧頂控制器.

6.在iOS7之后,默認會把導航條上的按鈕的圖片渲染成藍色.

7.導航條上的子控件位置不需要我們管理,只需要管理尺寸

8.UINavigationItem:是一個模型,決定導航條的內容(左邊內容,中間,右邊內容)

  1. UIBarButtonItem:是一個模型,決定導航條上按鈕的內容

10.以后只要看到item,通常都是蘋果提供的模型,只要改模型就能修改蘋果的某些控件.

1-控制器view的生命周期

  1. 控制器的view的生命周期方法都是以view開頭

  2. viewDidLoad -> viewWillAppear -> viewWillLayoutSubviews -> viewDidLayoutSubviews -> viewDidAppear -> viewWillDisappear -> viewDidDisappear

3.在非ARC中viewDidUnload,經常用來清空界面上的數據

2-數據存儲

1.plist存儲

1.plist存儲,生成一個plist文件.

2.plist不是數組就是字典,plist存儲就是用來存儲字典或者數組.

注意:Plist不能存儲自定義對象

3.獲取應用沙盒中Caches文件路徑

    // directory:獲取哪個文件夾    // domainMask:在哪個范圍內搜索,NSUserDomainMask:表示在用戶的手機上查找    // expandTilde:是否展開全路徑 YES:表示展開全路徑 NO:不會展開全路徑,會把應用沙盒的路徑用波浪號(~)代替    // 獲取到Caches文件夾路徑    NSString *cachePath = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES)[0];

4.讀取plist,之前是什么類型存儲的,讀取也是什么

2.偏好設置存儲

    // 偏好設置存儲:NSUserDefaults    // 以字典的形式進行偏好設置,用法跟字典.    // 偏好設置好處:  1.不需要關心文件名    //              2.快速進行鍵值對存儲    //              3.直接存儲基本數據類型

@implementation ViewController

- (IBAction)save:(id)sender { 

    // 獲取單例

    NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];

    

    // @"123" key:pwd

    [defaults setObject:@"123" forKey:@"pwd"];

    // bool

    [defaults setBool:YES forKey:@"isOn"];

    // int

    [defaults setInteger:10 forKey:@"num"];    

}

- (IBAction)read:(id)sender {

        // 利用NSUserDefaults單例

   NSString *pwd = [[NSUserDefaults standardUserDefaults] objectForKey:@"pwd"];

   NSInteger i = [[NSUserDefaults standardUserDefaults] integerForKey:@"num"];

    NSLog(@"%@--%ld",pwd,i);  

}

 

3.歸檔

1.NSKeyedArchiver專門用來做自定義對象歸檔

// 什么時候調用:當一個對象要歸檔的時候就會調用這個方法歸檔// 作用:告訴蘋果當前對象中哪些屬性需要歸檔- (void)encodeWithCoder:(NSCoder *)aCoder{    [aCoder encodeObject:_name forKey:@"name"];    [aCoder encodeInt:_age forKey:@"age"];}// 什么時候調用:當一個對象要解檔的時候就會調用這個方法解檔// 作用:告訴蘋果當前對象中哪些屬性需要解檔// initWithCoder什么時候調用:只要解析一個文件的時候就會調用- (id)initWithCoder:(NSCoder *)aDecoder{    #warning  [super initWithCoder]    if (self = [super init]) {        // 解檔        // 注意一定要記得給成員屬性賦值      _name = [aDecoder decodeObjectForKey:@"name"];      _age = [aDecoder decodeIntForKey:@"age"];    }    return self;}

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 南充市| 博兴县| 灵丘县| 峡江县| 扶沟县| 修水县| 嘉黎县| 阆中市| 两当县| 运城市| 岱山县| 营山县| 舞阳县| 柘城县| 安图县| 化隆| 邛崃市| 甘孜县| 昌邑市| 吴江市| 彭州市| 新晃| 绥滨县| 南江县| 南陵县| 错那县| 宁蒗| 廊坊市| 逊克县| 来安县| 交口县| 高安市| 奇台县| 双江| 瓮安县| 崇礼县| 保康县| 驻马店市| 洪湖市| 金乡县| 大竹县|