Search
Write a publication
Pull to refresh
1
0
Send message
Вот код будет)) Один будет так писать, другой так, третий так)))
Просто отличная статейка!
Я до этого на C# танцевал лет 5. ))) я думаю везде танцы с бубном.
Ну не знаю, автор конечно молодец, но я бы использовал уже готовые решения c promise. В целом для чтива не плохой материал, почему бы и нет.
ааа все — это я очень «внимательно» читал=)
«Разместите этот код над методом viewDidLoad():
let user = User(name: „John“)
… но оператор print внутри deinit не был исполнен. Значит, этот объект не был освобождён, так как он не вышел из области видимости (scope).»
Очень странно, вообще deinit сработает, так как область видимости у let user — viewDidLoad.
В данном случае это не играет важной роли, так как у него всего один контроллер.
Глупый ответ, неужели вы бы требовали от разработчика на собеседовании писать такое — «objc_getAssociatedObject и т д».
Сами небось полезли гуглить. Без выкрутасов из коробки язык не позволяет этого делать — ответ верный, остальное только удовлетворение вашего самолюбия.
Странно, что в коде (репозиторий), автор игнорирует написание weak даже на делегаты.
Пробовал vapor, но на go пока еще удобней писать сервера.
Еще, как пример для избежания цикла ссылок — это создание контекста перед замыканием:
let context = (
parser: parser,
schema: schema,
titleLabel: titleLabel,
textLabel: textLabel
)

dataLoader.loadData(from: url) { data in
// We can now use the context instead of having to capture 'self'
let model = try context.parser.parse(data, using: context.schema)
context.titleLabel.text = model.title
context.textLabel.text = model.text
}
“Lines logged: 1”...“Lines logged: 4”??
Вроде будет “Lines logged: 2”...“Lines logged: 4”

Information

Rating
Does not participate
Registered
Activity