deinit

    8熱度

    2回答

    我有一個類似於下面你可以看到一個UIView: class ViewTaskViewController: UIViewController, UITableViewDataSource, UITableViewDelegate { override func viewDidLoad() { super.viewDidLoad() subscribeToNotificatio

    0熱度

    2回答

    這似乎出現在我們項目中的兩個控制器上。 我檢查了代碼和故事板,故事板中的segue沒有在控制器中調用,沒有IBAction也沒有與觸發segue的按鈕相關的IBOutlet。 儘管當我離開我的控制器時,我可以從打印中看到deinit方法被調用兩次。 這很奇怪,因爲viewDidLoad和viewWillDisappear只被調用一次,有沒有人遇到過這種行爲?沒有任何關於SO的雙重優惠,我非常想知道

    1熱度

    3回答

    我想知道,如果它是實現每個視圖控制器上的deinit檢查它是否是當它消失,避免了內存泄漏正確刪除一個好的做法呢?當他們不再需要,以騰出資源

    2熱度

    1回答

    我有一個用戶可以登錄的應用程序。如果用戶啓動應用程序並且已經登錄,那麼rootViewController設置爲我的自定義UITabBarController,但是當用戶未登錄rootViewController被設置爲LoginVC(視圖控制器)。我的問題是,當用戶註銷時,應該呈現LoginVC並且TabBar應該被初始化。 我曾嘗試: self.tabBarController?.dismis

    0熱度

    1回答

    當我有一個活動的URLSessionTask並且用戶按下後退按鈕並且視圖控制器已被授權時,我的Swift 3 iOS應用程序發生崩潰。我在後退按鈕的urlsessiontask上調用cancel方法,並且當時沒有發生崩潰,但是當用戶返回視圖控制器時,應用程序崩潰。如果用戶允許URL會話任務完成,則不會崩潰。有誰知道我能做些什麼來防止墜毀?我使用iOS 10,Swift 3,Xcode 8.預先感謝

    0熱度

    1回答

    我想知道是否有可能在我的視圖控制器中使用懶惰屬性,並且在deinit方法只有在初始化時才調用我的懶惰屬性的方法。下面的一些代碼: fileprivate lazy var session: MySession = { let session: MySession = MySession() session.delegate = self return session

    0熱度

    1回答

    我有類似下面的代碼,涉及事件的異步內容處理:的b實例前: class A { var foos: Set<Fooable> } protocol Fooable { func bar() } class B { var a: A var foo: Foo! init(a: A) { self.a = a }

    0熱度

    2回答

    用title屬性創建一個名爲Parent的類併爲您的課程編寫init和deinit方法。 編寫一個名爲Child的子類。 我的問題是把這個到代碼(調用super.init(title:)和轉嫁title參數。 class Parent { let title: String init(title: String){ self.title = title

    0熱度

    1回答

    我有一個UIView添加到一個UIViewController,我通常測試去初始化,以確保我做正確的事情。但是當我沒有在我的viewController中將變量設置爲nil並且只使用.removeFromSuperView()時,UIView中的deinit()方法將不會被調用,直到我再次添加UIView然後調用它。但是,如果我使用removeFromSuperView()並將該變量設置爲零,則會

    2熱度

    2回答

    在「deinit」方法中沒有命中斷點時會出現主題。解決方案是將可執行代碼放入內部。試過 - 沒有工作。 的代碼從第一窗口啓動ViewController: let vc = self.storyboard?.instantiateController(withIdentifier: "testwindow") as! NSViewController self.presentViewCo