最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

iOS經(jīng)驗之初始化方法中不該設(shè)置self.view的屬性淺析

 更新時間:2018年09月19日 10:39:35   作者:陳滿iOS  
這篇文章主要給大家介紹了關(guān)于iOS經(jīng)驗之初始化方法中不該設(shè)置self.view的屬性的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起看看吧

前言

iOS初始化方法包括系統(tǒng)默認的和自定義的,常見系統(tǒng)初始化方法有init, initWithFrame:, initWithNibName:bundle:等,自定義則是各式各樣。日常iOS項目開發(fā)過程中,我們經(jīng)常在類的初始化方法中初始化接下來類需要用到的一些必要的數(shù)據(jù)或界面。

本文主要介紹的是關(guān)于iOS初始化方法不設(shè)置self.view屬性的相關(guān)內(nèi)容,屬于 iOS小經(jīng)驗系列:累積平時看起來簡單,但容易忽視的小經(jīng)驗,各路大佬敬請回避。

正文:

有個小伙伴新寫了一個NextViewController,重新了兩個生命周期:

init

- (instancetype)init{
 self = [super init];
 if (self) {
 self.modalPresentationStyle = UIModalPresentationCustom;
 self.modalTransitionStyle = UIModalTransitionStyleCrossDissolve;
 self.edgesForExtendedLayout = UIRectEdgeNone;
 
 self.view.alpha = 0;
 self.view.backgroundColor = [UIColor clearColor];
 }
 return self;
}

viewDidLoad

- (void)viewDidLoad {
 [super viewDidLoad];
 //....根據(jù)數(shù)據(jù)源source顯示列表數(shù)據(jù)
}

加載代碼

跳轉(zhuǎn)的時候用這樣的代碼:

- (void)nextButtonClick:(UIButton *)sender {
 
 NextViewController *nextVC = [[NextViewController alloc]init];
 nextVC.source = [self.source copy];
 [self presentViewController:nextVC animated:YES completion:nil];
}

問題描述

結(jié)果發(fā)現(xiàn),在執(zhí)行數(shù)據(jù)源傳值 nextVC.source = [self.source copy]; 代碼之前,NextViewController的 viewDidLoad 死活要先執(zhí)行,即使還沒執(zhí)行pushViewController。

問題原因

造成這個問題的原因是在init的方法中設(shè)置self.view相關(guān)屬性時,會導(dǎo)致viewDidLoad執(zhí)行,即使前面的頁面還沒有push過來,即使還沒顯示。

知識小點

不能混淆和亂用生命周期方法,初始化的方法中不該設(shè)置self.view的屬性。

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。

相關(guān)文章

  • Swift 2.1 為 UIView 添加點擊事件和點擊效果

    Swift 2.1 為 UIView 添加點擊事件和點擊效果

    本文主要介紹 Swift UIView,這里給大家提供代碼示例作為參考為UIView 添加點擊事件和點擊效果,希望能幫助IOS開發(fā)的同學(xué)
    2016-07-07
  • IOS App圖標(biāo)和啟動畫面尺寸詳細介紹

    IOS App圖標(biāo)和啟動畫面尺寸詳細介紹

    這篇文章主要介紹了IOS App圖標(biāo)和啟動畫面尺寸詳細介紹的相關(guān)資料,需要的朋友可以參考下
    2017-02-02
  • iOS Block解開多年以來一直的誤解

    iOS Block解開多年以來一直的誤解

    這篇文章主要給大家介紹了關(guān)于iOS Block多年以來一直的誤解如何解開的相關(guān)資料,文中通過圖文介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-05-05
  • IOS實現(xiàn)碎片化動畫詳解

    IOS實現(xiàn)碎片化動畫詳解

    在網(wǎng)上看到一個驚艷的碎片化動畫,于是實現(xiàn)之后拿來講解一下,有需要的小伙伴們可以參考學(xué)習(xí)哦。
    2016-08-08
  • IOS 開發(fā)狀態(tài)欄隱藏的實現(xiàn)辦法

    IOS 開發(fā)狀態(tài)欄隱藏的實現(xiàn)辦法

    這篇文章主要介紹了IOS 開發(fā)狀態(tài)欄隱藏的實現(xiàn)辦法的相關(guān)資料,需要的朋友可以參考下
    2017-02-02
  • iOS中PNChart與UITableView的聯(lián)動示例詳解

    iOS中PNChart與UITableView的聯(lián)動示例詳解

    PNChart是個界面很漂亮的圖表第三方庫,UITableView則不用過多介紹了,各位iOS開發(fā)者們都知道,下面這篇文章主要給大家介紹了關(guān)于iOS中PNChart與UITableView的聯(lián)動的相關(guān)資料,需要的朋友可以參考下
    2018-07-07
  • IOS安裝CocoaPods詳細教程

    IOS安裝CocoaPods詳細教程

    這篇文章主要為大家詳細介紹了IOS安裝CocoaPods教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-05-05
  • 詳解Swift 之clipped是什么如何用

    詳解Swift 之clipped是什么如何用

    這篇文章主要介紹了詳解Swift 之clipped是什么如何用,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-01-01
  • iOS開發(fā)系列--詳細講解C語言之存儲方式和作用域

    iOS開發(fā)系列--詳細講解C語言之存儲方式和作用域

    本篇文章主要介紹了iOS開發(fā)系列--詳細講解C語言之存儲方式和作用域,具有一定的參考價值,有需要的可以了解一下。
    2016-11-11
  • iOS中時間與時間戳的相互轉(zhuǎn)化實例代碼

    iOS中時間與時間戳的相互轉(zhuǎn)化實例代碼

    這篇文章主要介紹了iOS中時間與時間戳的相互轉(zhuǎn)化實例代碼,非常具有實用價值,需要的朋友可以參考下。
    2017-03-03

最新評論

凉城县| 乌拉特中旗| 巨野县| 尼玛县| 翁牛特旗| 九台市| 庆云县| 京山县| 济宁市| 绵竹市| 南漳县| 南华县| 临沧市| 大新县| 吴川市| 仙游县| 左贡县| 常熟市| 德江县| 临桂县| 于都县| 特克斯县| 左贡县| 盘锦市| 屏东县| 江北区| 沛县| 囊谦县| 武夷山市| 河曲县| 沙洋县| 安顺市| 手游| 昂仁县| 保亭| 溆浦县| 磴口县| 溧水县| 贵溪市| 大姚县| 钟山县|