多控制器

1.自定義控制器存在的問題:

1>.重復(fù)創(chuàng)建過多的控制器

2>.出現(xiàn)了不好的現(xiàn)象:控制器已經(jīng)死了,但是控制器的view還在

3>.3個控制器的view同時出現(xiàn)了(層疊了)

一個View 從父控件中移除,就會銷毀,不是這樣的,得取決去它有沒有強指針指著。


2.控制器父子關(guān)系的建立原則

?a. 如果2個控制器的view是父子關(guān)系(不管是直接還是間接的父子關(guān)系),那么這2個控制器也應(yīng)該為父子關(guān)系

[a.view addSubview:b.view];

[a addChildViewController:b];

或者

[a.view addSubview:otherView];

[otherView addSubbiew.b.view];

[a addChildViewController:b];


b. 獲得所有的子控制器

?@property(nonatomic,readonly) NSArray *childViewControllers;

c. 添加一個子控制器

//XMGOneViewController成為了self的子控制器

?//self成為了XMGOneViewController的父控制器

?[self ?addChildViewController:[[XMGOneViewController alloc] init]];?

// 通過addChildViewController添加的控制器都會存在于childViewControllers數(shù)組中

d. 獲得父控制器

?@property(nonatomic,readonly) UIViewController *parentViewController;

e. 將一個控制器從它的父控制器中移除

//控制器a從它的父控制器中移除

?[a removeFromParentViewController];


3.補充

實現(xiàn)拷貝的方法

copy:淺拷貝(指針的拷貝),不會產(chǎn)生新對象

只會產(chǎn)生不可變的副本對象(比如NSString)

mutableCopy:深拷貝(內(nèi)容的拷貝),會產(chǎn)生新對象

只會產(chǎn)生可變的副本對象(比如NSMutableString)



4. static的作用:

--- ?修飾局部變量 ?:讓局部變量只初始化一次 局部變量在程序中只有一份內(nèi)存 ?并不會改變局部變量的作用域,僅僅是改變了局部變量的生命周期(只到程序結(jié)束,這個局部變量才會銷毀)

--- 修飾全局變量 ?:?全局變量的作用域僅限于當(dāng)前文件


在子程序中定義的變量稱為局部變量,在程序的一開始定義的變量稱為全局變量。

全局變量作用域是整個程序,局部變量作用域是定義該變量的子程序。


int ? ?const ? *p

const修飾的是 *p

表示*p不能被更改

即地址里面的內(nèi)容不能更改

但p本身并不是常量,可以更改

也就是一個指向常量的指針

char *const p;與 const char * p;的區(qū)別

前者定義P為常量,即只能單向賦值一次,P++展開為p=p+1,重復(fù)賦值給常量,出錯,后者P為地址變量,地址變量是指向該變量的存儲地址值如:4B3F6A,不能賦給一個字符值(字符相當(dāng)于ascii表中對應(yīng)的整數(shù))如強制賦值,會把原地址變量P變?yōu)橐粋€兩位數(shù)的整數(shù),造成地址指針溢出。而p++,則表示把該地址變量向下一個存儲單元移動一位,如4B3F6A到4B3F6B.所以合法。

一個是把指針定為const 。就是不能修改指針。也就是char * const p

一個是把指針指向的內(nèi)容定為const 。就是不能修改指針指向的內(nèi)容 也就是const char *p

簡單來記就是你看const距離char近還是*近。距離char近就是將char類型的內(nèi)容定為cosnt

距離*近就是把指針定為const

5.轉(zhuǎn)場動畫


6.級聯(lián)菜單

1.一個控制器兩個 tableView的數(shù)據(jù)源;

2.兩個控制器分別控制數(shù)據(jù)源;

導(dǎo)航欄細(xì)節(jié):

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容