Я только что закончил свое первое приложение. Я собирался отправить его, когда обнаружил утечку памяти (10 МБ). Согласно этой публикации, это вызвано переходами, которые я использую.
Насколько я понимаю, в настоящее время мое приложение генерирует новое представление каждый раз, когда я выполняю переход. Я прочитал много сообщений, которые в конечном итоге сбили меня с толку. Должен ли я использовать dissmissViewController? Расслабиться Сегью?
Этот пост был действительно полезен в отношении раскрутить переход. Но с точки зрения пользовательского интерфейса мне нравится текущее решение PerformSegueWithIdentifier, так как я создал хорошие горизонтальные скользящие переходы. Есть ли способ настроить переход при использовании раскрутки?
Хотелось бы, чтобы была возможность просто "убить" предыдущий ViewController в пользовательском коде перехода...
ps: вот код одного из переходов:
import UIKit
class FirstCustomSegueUnwind: UIStoryboardSegue {
override func perform() {
var firstVCView = self.sourceViewController.view as UIView!
var secondVCView = self.destinationViewController.view as UIView!
let screenWidth = UIScreen.mainScreen().bounds.size.width
let screenHeight = UIScreen.mainScreen().bounds.size.height
secondVCView.frame = CGRectMake(-screenWidth, 0.0, screenWidth, screenHeight)
let window = UIApplication.sharedApplication().keyWindow
window?.insertSubview(secondVCView, aboveSubview: firstVCView)
UIView.animateWithDuration(0.4, animations: { () -> Void in
firstVCView.frame = CGRectOffset(firstVCView.frame, screenWidth, 0.0)
secondVCView.frame = CGRectOffset(secondVCView.frame, screenWidth, 0.0)
}) { (Finished) -> Void in
self.sourceViewController.presentViewController(self.destinationViewController as! UIViewController, animated: false, completion: nil)
}
}
}
UIViewController
, если у вас нет чего-то, что удерживает указатель на него. - person Schemetrical   schedule 12.05.2015