IOS之UIKit_Day04

DAY04 數組

複習網絡

1 UIAlertView多線程

       建立  initWithTitledom

                message函數

                delegate:設置代理動畫

                cancelButtonatom

                otherButtonTitle線程

        設置警告框樣式:代理

              alert.alertView=枚舉對象

       顯示

              [alert show]

        要想成爲代理對象:

           遵照協議  實現方法  設置委託方和某一代理方關聯起來

         判斷用戶點擊的按鈕

                     方法一:判斷按鈕的索引

                     方法二:判斷按鈕的標題

 

2. UIActionSheet

       建立:

       顯示[sheet showInView:self.view]

       代理對象

       遵照協議<UIActionSheetDelegate>

       實現方法

       將代理對象與委託對象關聯

3 MVC

       Model 模型 數據的存儲 程序的業務邏輯 多線程 網絡傳輸 文件存儲

       View 視圖 視圖的搭建

       Controller 控制器 搭起了M與V的鏈接

4 補充知識

       4.1 IBOutletController輸出口集合

              在控制器中聲明的一個數組(用Strong修飾)可是數組的對象來源於系統中建立的對象(對象是weak

       4.2 隨機數的產生

              C語言的一個函數arc4random()

              隨機數從0開始的一個無符號的正整數

              特色:不須要設置隨機種子

                     與srand(unsigned)time(0))

                            int nun=rand()%10的區別

       4.3 Lazy Loading晚加載

              將一些對象的初始化工做 從ViewDidLoad中提取出來,放到Get方法中進行 這樣在這個對象不得不加載的時候才調用建立,而不是一開始View就建立出來。

       4.4屬相若是是ReadyOnly 能夠在.m文件中extrntion裏面設置屬性可讀可寫

---------------------------------------------------------------------------------------------------------------------

1 多MVC之間的頁面跳轉

       視圖之間的切換時經過切換試圖控制器來實現切換的

       1》建立新的視圖控制器

       2》退出新的視圖

              [self presentViewController:新控制器 animated:是否有動畫 completion:nil]

       3》返回上一個視圖

              [self  dismissViewControllerAnimated:YES copletion:nil];

2 對界面之間的傳值

       2.1正向傳值(A----->B)

              1》增長屬性

              2》賦值

              3》界面展示以前在B中重寫

                     -(void)viewWillAppear:(BOOL)animated方法

       2.2 反向傳值(B---->A

              方法一:

              step1:B中公開一個能夠接受A引用的aVc;

              step2: A 中公開一個能夠接受返回值的數據類型message

              step3:A推出B以前 將本身的引用傳給B

              step4:B在dismiss 以前將要返回的數據傳給持有A的引用中公開的屬性message

              step5:在A的ViewWillAppear中顯示message的內容

        

             方法二:

                     委託方:推出的B

                     代理方:推出B的那個對象A

                            委託方須要作的三件事:

                                   1.制定協議

                                   2.制定協議的方法

                                   3.何時使用

                              代理方作的三件事:

                                   1.遵照協議

                                   2.實現方法

                                   3.把本身設置爲代理

3 協議的定義:

       1》協議名:類名+Delegate

       2》方法的第一個參數必定是委託方本身

       3》方法儘可能體現調用的時機

Eg

@protocol InputViewControllerDelegate <NSObject>

-(void)inputViewController:(InputViewController*)inputVc inputFinishedWithMessahe:(NSString*)message;

合適的時機給代理髮消息

@end

添加一個公開的Delegate方法

@property(nonatomic,weak)id<BViewControllerDelegate> delegate;

 

5 擴展

       在類內的initXX 、get、set中使用實例變量即下劃線 其餘地方都用self

       內存修飾

              copy :NSString、Block

                     copy 將對象的拷貝賦給引用 拷貝完是不可改變的

相關文章
相關標籤/搜索