Описание тега deinit

Деструктор объектов языка программирования Swift
1 ответ

Я вызываю URLSession.share.datatask и, прежде чем он может завершить, пользователь выскакивает контроллер uiview

Я не уверен, как предотвратить ошибку в моем приложении. Мне нужно вызвать сервер, используя URLSession.shared.dataTask, который прекрасно работает, если я позволю ему завершить. Тем не менее, если я вытолкну uiviewcontroller из стека до того, как U…
19 мар '17 в 16:34
0 ответов

Устанавливает ли необязательный экземпляр nil вызов deinit (если реализован)?

Это может быть сумасшедший вопрос, но это то, что беспокоило меня на этой неделе. В Swift, если у вас есть необязательный экземпляр класса, делает ли установка, которая необязательна, nil, вызывать deinit (если реализовано) или выполнять очистку экз…
22 окт '14 в 16:16
0 ответов

SCNAction.removeFromParentNode и deinit не вызваны

Следующий метод определен внутри расширения класса GKComponent weak var node:SCNNode? ... func moveAlongNorthSouth() { let moveAction = SCNAction.moveByX(0, y: 0, z: 1, duration: NSTimeInterval(2)) let sequence = SCNAction.sequence([moveAction,SCNAc…
18 окт '15 в 20:35
0 ответов

deinit не вызывается по-быстрому

У меня есть следующий код, который устанавливает объект nil, но deinit не был назван. я имею deinit чье тело print("deinit"), Но это никогда не называлось. let dispatchGroup = dispatch_group_create() retVal = NSMutableArray() for index in 0..<use…
05 июл '17 в 08:26
0 ответов

Зачем вдруг увеличиваться и уменьшаться объем памяти, хотя я делаю что-нибудь в игре с набором спрайтов?

Я разрабатываю простую игру с набором спрайтов. Когда я запускаю игру на своем устройстве, я начинаю менять сцены между игровым процессом, основной сценой и сценой уровня. Однако память увеличивается в игровом процессе, но неожиданно увеличивается в…
21 июл '15 в 14:22
1 ответ

Контроллер представления сохраняет другой при изменении rootViewController

Я обнаружил утечку памяти в приложении, где делается следующее: Представьте себе два контроллера представления, каждый из которых вызывает функцию в appDelegate, подобную этой: func switchRootViewController() { let vc = getTheOtherViewController() s…
1 ответ

Безопасно ли совершать сетевые вызовы, когда View Controller отключен?

По сути, у меня есть UIViewController, который управляет чатом. Когда UIViewController деинсталлируется каким-либо образом, текущий пользователь должен покинуть канал. В настоящее время мой код: class ChatViewController: SLKTextViewController { var …
11 сен '16 в 06:20
1 ответ

Как предотвратить сбой, когда контроллер uiview отключен и активна urlsessiontask

У меня происходит сбой в моем приложении Swift 3 для iOS, когда у меня активная URLSessionTask, и пользователь нажимает кнопку "Назад" и контроллер представления отключен. Я вызываю метод отмены для urlsessiontask в кнопке "Назад", и в это время не …
1 ответ

Понимание быстрых деинициализаторов

Swift deinitializer не обновляет valueone и valuetwo, я получаю ноль в качестве ответа при печати mainTotal.sum, он должен обновить значение и распечатать ответ как 95 struct mainTotal{ static var valueone :Int = 0 static var valuetwo :Int = 0 stati…
14 мар '17 в 04:44
2 ответа

OSX deinit не вызывается после закрытия контроллера представления

Были темы, когда точка останова не была достигнута методом "deinit". Решение состояло в том, чтобы поместить исполняемый код внутри. Попробовал это - не сработало. Код для инициирования ViewController из первого окна: let vc = self.storyboard?.insta…
08 май '17 в 11:03
1 ответ

Можно ли переопределить deinit в Swift?

При создании подкласса из другого класса требуется override init() функция, но вы не можете переопределить deinit "Функция". Возможно ли это в Swift? Вот пример class Foo { init(){ print("Foo created") } deinit { print("Foo gone") } } class Bar: Foo…
28 окт '16 в 11:52
9 ответов

Дейнит никогда не звонил

Я создаю объект ViewController и помещаю его в контроллер навигации. Когда объект извлекается из стека - он не освобождается и Deinit не вызывается. Что может быть причиной этого? Вот код, который выдвигает: self.navigationController?.pushViewContro…
17 ноя '14 в 11:11
1 ответ

Раскручивать делегата не означает "средний" вид

У меня есть навигационный контроллер (NC) и три ViewController (A, B, C) со следующим шаблоном навигации: NC->A->B->C Если я перейду от A к C ивернусь назад, то будут вызваны оба метода B и C deinit. Если я использую Sewwind Segue, чтобы пе…
27 июн '16 в 09:58
1 ответ

Deinit UITabBarController после представления нового ViewController

У меня есть приложение, в которое пользователи могут войти. Если пользователь запускает приложение и уже вошел в систему, то rootViewController настроен на мой заказ UITabBarController но когда пользователь не вошел в rootViewController установлен н…
0 ответов

Надежно удалить переменную в Swift?

У меня есть экран входа в систему, где пользователь должен ввести свое имя пользователя и пароль. Я всегда храню пароль в переменной и отправляю его на сервер. Затем я оставляю контекст функций, и все в порядке, потому что я больше не имею ссылки на…
16 июн '17 в 06:12
1 ответ

Специальная навигация с использованием сегментов раскадровки iOS

У меня есть 3 вида контроллеров: Main, List и Run. (Подробнее будет добавлено позже.) Я использую раскадровки и сегы. Целевая ОС - iOS 8. Основным является начальная сцена / контроллер. В настоящее время я не использую навигационные контроллеры. Кно…
05 июн '15 в 21:44
2 ответа

Как заставить deinit вступить в силу в быстрой

У меня есть класс автомобилей. Допустим, машина отправляется на свалку, эта машина больше не должна учитываться в общей численности населения. У меня есть функция deinit, но как мне систематически удалять автомобиль из автомобильного населения? Друг…
24 июн '16 в 21:20
2 ответа

Как мне справиться с этим инициализатором?

Создайте класс с именем Parent с title собственности и написать init а также deinit метод для вашего класса. Написать подкласс Child, Моя проблема заключается в том, чтобы вставить это в код (вызов super.init(title:) и передать title параметр. class…
08 янв '17 в 00:09
2 ответа

Могу ли я использовать didSet в deinit?

Я добавил переменную Timer в свой класс и использовал ее наблюдатель didSet для аннулирования старого значения var timer: Timer? { didSet { oldValue?.invalidate() } } deinit { timer = nil } Я думал, что этого будет достаточно, чтобы сделать недейств…
15 окт '18 в 16:01
1 ответ

Swift iOS - Должен ли Deinit вызываться внутри дочернего View Controller при добавлении в качестве дочернего элемента к другому View Controller?

У меня есть childVC(vc3) внутри parentVC(vc2) внутри другого parentVC(vc1). Я делаю это так для анимации. Что происходит, я добавляю vc3 как ребенка к vc2. У меня есть collectionView, который выдвигает на vc1. Как только vc1 находится на сцене, к не…
14 мар '18 в 13:23