Описание тега unowned-references
2
ответа
Имеет ли ARC счет для неподтвержденной ссылки?
Правда ли, что ARC ведет подсчет неиспользованных ссылок на объект? Итак, если счетчик строгих ссылок объекта достигает 0, а число ссылок на этот объект, не являющееся владельцем,> 0, объект деинициализируется, но не выделяется? И только когда счетч…
22 фев '19 в 23:47
2
ответа
Почему я не могу дать неизвестной константе начальное значение?
class Example {} unowned let first = Example() Это приводит к ошибке: Attempted to read an unowned reference but object 0x60c000005f20 was already deallocated Я пытаюсь понять, какое ключевое слово unowned делает.
24 янв '18 в 01:16
1
ответ
Слабый или Неизвестный или Нет
У меня есть класс ViewController, как показано ниже: class ViewController { var viewModel = ViewModel() viewDidLoad() { self.viewModel.showAlert = { [weak self] in self?.alert() } } func alert() { // alert logic } } Вот класс ViewModel class ViewMod…
31 мар '18 в 09:28
1
ответ
В Свифте, непризнанная и слабая ссылка
Если у вас есть собака со слабой ссылкой на кость, это означает, что собака является "владельцем" ссылки в этой ситуации, и она использует кость, но кость может исчезнуть, и собака все еще может функционировать (потому что ссылка кость необязательна…
27 ноя '16 в 14:51
1
ответ
Путаница в том, куда следует поместить [непризнанное "я"
У меня есть сохраненный цикл, поэтому deinit моего viewcontroller не будет вызываться, и я пытаюсь решить эту проблему с моим добавлением [unowned self], но я не слишком уверен, куда поместить unowned в моих случаях: Случай 1 class YADetailiViewCont…
11 фев '18 в 21:53
2
ответа
Swift - самоопределение списка захвата
После прочтения некоторых статей и руководства для разработчиков по Apple, я все еще не уверен насчет Capture List в завершении. Что означает "захват", как это работает за сценой с точки зрения непризнанного себя и слабого себя? как замыкание исполь…
02 май '18 в 07:22
2
ответа
Добавьте [unowned self] к аргументу закрытия Swift
У меня есть функция с обработчиком завершения, возвращающим один или несколько параметров. В клиенте при выполнении обработчика завершения я хотел бы иметь unowned ссылка на self, а также доступ к параметру передан. Вот пример игровой площадки, иллю…
15 мар '18 в 14:33
1
ответ
Когда оба свойства никогда не могут быть равны нулю, какая разница между несобственными и распределенными ресурсами?
Для следующего кода из руководства по быстрому программированию с добавленными мной деинициализаторами итоговая распечатка отладки будет одинаковой независимо от того, используется ключевое слово unowned или нет. В быстром руководстве по программиро…
24 янв '18 в 23:24
2
ответа
Нужно ли перехватывать списки внутренних замыканий для обозначения себя как слабого или неизвестного?
Если у меня есть замыкание передано в функцию, как это: someFunctionWithTrailingClosure { [weak self] in anotherFunctionWithTrailingClosure { [weak self] in self?.doSomething() } } Если я объявлю себя как [weak self] в someFunctionWithTrailingClosur…
03 авг '16 в 09:06
0
ответов
Список захвата в закрытии: почему "слабый"?
Я прочитал эту статью о реализации MVVM, Это демонстрирует приложение master-detail, где есть первый viewController обрабатывая представление таблицы и который также содержит viewModel, такие viewModel звонки в службу поддельной службы, чтобы некото…
02 июл '18 в 06:24
1
ответ
Swift. unowned может применяться только к классу и типу протокола, привязанного к классу. слабый работает отлично
Пожалуйста, прочитайте вопрос до конца, так как он кажется дубликатом многих похожих других, но это не так. Большинство других вопросов используют замыкания с let Ключевое слово для захвата слабого или неизвестного себя перед объектом init. Я не буд…
29 авг '17 в 13:54
1
ответ
Swift - @escaping и захватить уточнение списка
Я пытался копаться в этом предмете столько, сколько мог, но все же у меня есть несколько вещей, которые не были решены в моей голове, и я буду благодарен, чтобы получить разъяснения по ним.. поэтому я задал несколько вопросов... Как компилятор знает…
01 май '18 в 06:11
1
ответ
Быстрая утечка неизвестного, когда "принадлежит" представляемому представлению
Я испытываю утечку с неизвестным "я" в условиях, когда, насколько мне известно, утечки не должно быть. Позвольте мне показать пример, он немного надуманный, так что терпите меня, я попытался привести простейшее из возможных случаев. Предположим, у м…
20 мар '19 в 15:27
2
ответа
Как Unowned ссылка работает с переменными захвата в Swift
Есть много обучающих программ по ARC. Но я не понимаю четкую работу неизвестных или слабых как то, как переменные, захваченные ссылкой, становятся нулевыми. Apple Document: Определите перехват в замыкании как неподтвержденную ссылку, когда замыкание…
05 мар '19 в 11:36
1
ответ
Понимание слабой и непризнанной ссылки в Swift под капотом
Я хочу полностью понять, что происходит внутри слабой и неподтвержденной референции в Swift. Для этого я прочитал MikeAsh и получил несколько вопросов. Что уже известно: когда нет слабой (и, я полагаю, не принадлежащей) ссылки на объект, счетчик сил…
25 июл '19 в 21:28
1
ответ
Swift Weak Reference Намного медленнее, чем Strong Reference
Я создаю физический движок на Swift. Внеся несколько недавних дополнений в движок и проведя тесты производительности, я заметил, что производительность резко снизилась. Например, на скриншотах ниже вы можете увидеть, как FPS упал с 60 до 3 FPS (FPS …
31 окт '19 в 03:13
0
ответов
Алеаторный сбой в SwiftUI при загрузке изображения из Интернета или кеша
Я пытаюсь загрузить изображения и сохранить их в кеше, поэтому у меня есть класс для управления всей последовательностью. Это так: ImageLoader.swift import SwiftUI import UIKit import Combine class ImageLoaderCache { static let shared = ImageLoaderC…
29 апр '20 в 22:08
2
ответа
Почему ослабление сильной ссылки с помощью локальной переменной не работает?
(Я понимаю, как работает ARC, и в чем разница между и. Вопрос в том, как их использовать и почему это не работает. Я буду использовать в приведенном ниже примере только для простоты.) См. Пример ниже. Обратите внимание на строку 10, которая предназн…
04 апр '21 в 05:57
0
ответов
Сбой в swift_unknownObjectUnownedTakeStrong из-за ошибочного использования unowned
Я получил сбой в сети. Обратная трассировка выглядит следующим образом: 0 libsystem_kernel.dylib __pthread_kill + 8 1 libsystem_pthread.dylib pthread_kill + 272 2 libsystem_c.dylib abort + 104 3 libswiftCore.dylib swift_vasprintf(char**, char const*…
16 апр '21 в 08:00
1
ответ
Разница между бесхозным var что-то: Что-то! и слабый вар что-то: Что-то! в Свифте
Рассмотрим следующий пример, приведенный ниже: protocol Something: AnyObject { func f() } class A { unowned var something1: Something! weak var something2: Something! func f() { something1.f() something2.f() } } В чем разница между типомsomething1иs…
10 авг '23 в 21:46