Size: a a a

2022 January 29

b

bodich in SwiftBook
В общем, называется это захватила, тут все ок. Просто это не то же самое что захватить ссылку на объект ссылочного типа.
источник

S

Semen in SwiftBook
Подскажите пожалуйста, как с дженериком разобраться, компилятор ругается, что "Cannot convert value of type 'String' to expected argument type 'T.T'"
Идея в том, чтобы сделать свой массив и он типа Стринг, и мне туда нужно добавить стринговое значение
Код функции:
func addValues<T: MyArray>(array: T, count: Int) {
//    typealias T = String
   let start = DispatchTime.now().uptimeNanoseconds
   for index in 0..<count {
       array.add(item: String(index)) //Здесь ругается
   }
   let duration = Double(DispatchTime.now().uptimeNanoseconds - start) * 0.000000001
   print("Add \(count) : \(duration) ms")
}

Код протокола:
import Foundation
protocol MyArray{
   associatedtype T
   typealias TargetType = T
   func size() -> Int
   func add(item: TargetType)
   func get(index: Int) -> TargetType
   func resize(oldArray: [TargetType], delta: Int) -> [TargetType]
}
источник

F

Focus in SwiftBook
подскажите как лучше сделать

получаю в ответ на запрос несколько параметров, один из них это дата в формате юникс
написал небольшую функцию перевода в нужный мне формат

так вот вопрос, где мне эту функцию вызвать

в структуре где я получаю запрос? как на скрине1  | или когда я заполняю мои лейблы данными полученными из запроса? скрин 2
источник

F

Focus in SwiftBook
источник

F

Focus in SwiftBook
источник

F

Focus in SwiftBook
p.s на ошибку не смотрите
это для декора
источник

b

bodich in SwiftBook
Похоже я был неправ. Правда захватывается именно ссылка именно на переменную, а не на скоуп.
источник

IM

Igor Milk in SwiftBook
То есть получается
В функции переменная
Захваченная замыканием

Передаёт ссылку этому замыкание

И при вызове замыкания есть ссылка с этого замыкания на захваченную переменную .


Получается то что функция не завершает свою работу в котором был захват


Так как существует 1 сильная ссылка .
источник

b

bodich in SwiftBook
Завершает, остается сильная ссылка на переменную только на захваченную
источник

IM

Igor Milk in SwiftBook
Переменная не уничтожается ?
источник

IM

Igor Milk in SwiftBook
В функции
источник

b

bodich in SwiftBook
Нет
источник

IM

Igor Milk in SwiftBook
Ого
источник

IM

Igor Milk in SwiftBook
Спасибо что отписал
источник

IM

Igor Milk in SwiftBook
👍
источник

b

bodich in SwiftBook
Вернее, она уничтожится. Но когда сам incrementer перестанет существовать
источник

b

bodich in SwiftBook
Здесь сделать var incrementerByTen опциональным, и в конце присвоить ему nil например (или другой инкрементер). И тогда захваченные ссылки перестанут существовать и объекты захваченные уничтожатся
источник

ГМ

Глеб Максимов... in SwiftBook
Ребят,а паралелс получается эмулирует винду полностью(x86)то есть как будто я работаю на каком - то виндовом ноуте или как?(Я  на маке м1 запустил ее арм версию)
источник

VA

Vladimir Afonin in SwiftBook
Да, в настройках параллела можешь прокинуть устройства и сети. Но ресурсы он тоже кушает хорошо
источник

ГМ

Глеб Максимов... in SwiftBook
То есть ,теоретически, возможно запустить на маке м1 ВС там ,допустим, 2019 и скомпилировать какой-то спп код ?
источник