- PVSM.RU - https://www.pvsm.ru -
Источник картинки: The Verge [1]
Самоуправляемый автомобиль от Apple, поддержка манипулятора типа «мышь» на айпаде, камера на Apple Watch и еще больше новостей в новом выпуске iOS-дайджеста. Заодно посмотрим, насколько хорош в плане перформанса SwiftUI и как использовать фреймворк Combine, если цепочки RxSwift больше не цепляют за душу.
Пока без конкретного практического использования, но довольно залипательно выглядит разбиение тела на частицы в реальном времени:
Успели ли вы попробовать сделать что-нибудь подобное с использованием ARKit? Делитесь идеями в комментариях.
Для примера рассмотрим обертку, которая автоматически порежет пробелы и знаки переноса строки в строке:
import Foundation
@propertyWrapper
struct Trimmed {
private(set) var value: String = ""
var wrappedValue: String {
get { value }
set { value = newValue.trimmingCharacters(in: .whitespacesAndNewlines) }
}
init(initialValue: String) {
self.wrappedValue = initialValue
}
}
Вариант объявления и использования в коде будет выглядеть следующим образом:
struct Post {
@Trimmed var title: String
@Trimmed var body: String
}
let quine = Post(title: " Swift Property Wrappers ", body: "...")
quine.title // "Swift Property Wrappers" (no leading or trailing spaces!)
quine.title = " @propertyWrapper "
quine.title // "@propertyWrapper" (still no leading or trailing spaces!)
Более подробно читайте в статье Swift Property Wrappers [10].
Тем временем на GitHub [11] уже появилась коллекция врапперов, которые могут быть полезны.
Для интересующихся: на прошедшем в мае Mobius мне довелось выступить с докладом [17] про проблемы синхронизации данных на мобильных клиентах при совместном редактировании. Кроме того, в июле можно будет лично пообщаться с одним из амбассадоров вопросов синхронизации данных Мартином Клеппманом на конференции Hydra 2019 [18], которая пройдёт 11-12 июля 2019 года в Санкт-Петербурге. А пока есть возможность почитать с ним большое интервью [19].
SwiftUI может обрабатывать в 5-10 раз больше примитивов до того, как производительность упадет ниже 60 FPS.
Автор: dydus0x14
Источник [22]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/ios/322199
Ссылки в тексте:
[1] The Verge: https://www.theverge.com/2019/6/25/18743993/ipad-mouse-ipad-os-how-to
[2] сообщает: https://www.theverge.com/2019/6/25/18744320/apple-watch-patent-camera-band-flexible-selfie
[3] Apple купила стартап Drive.ai: https://www.axios.com/apple-buy-driveai-753da17d-60fe-44f9-84ff-1d2d82cd0b81.html
[4] Bloomberg: https://www.bloomberg.com/news/articles/2019-06-26/apple-hires-key-chip-designer-from-arm-as-own-efforts-ramp-up
[5] @openMolmol_MPS: https://twitter.com/openMolmol_MPS?ref_src=twsrc%5Etfw
[6] pic.twitter.com/8Xv2VdpD3h: https://t.co/8Xv2VdpD3h
[7] June 22, 2019: https://twitter.com/zachlieberman/status/1142495123407855617?ref_src=twsrc%5Etfw
[8] pic.twitter.com/osQyeVSfYx: https://t.co/osQyeVSfYx
[9] June 17, 2019: https://twitter.com/laanlabs/status/1140643018220933120?ref_src=twsrc%5Etfw
[10] Swift Property Wrappers: https://nshipster.com/propertywrapper/
[11] GitHub: https://github.com/guillermomuntaner/Burritos
[12] Getting started with the Combine framework in Swift: https://www.avanderlee.com/swift/combine/
[13] Combine framework in action: https://medium.com/snowdog-labs/combine-framework-in-action-fb91fd101602
[14] здесь: https://www.avanderlee.com/xcode/xcode-previews/
[15] Apple’s New CloudKit-Based Core Data Sync: https://medium.com/@drewmccormack/apples-new-cloudkit-based-core-data-sync-4c1f334044bc
[16] Ensembles: http://ensembles.io
[17] докладом: https://www.youtube.com/watch?v=luptFJu6skc
[18] Hydra 2019: http://hydraconf.com/?utm_source=habr&utm_medium=457862
[19] большое интервью: https://habr.com/ru/company/jugru/blog/457736/
[20] pic.twitter.com/RZ0p1MjhL9: https://t.co/RZ0p1MjhL9
[21] June 26, 2019: https://twitter.com/cocoawithlove/status/1143859662166454272?ref_src=twsrc%5Etfw
[22] Источник: https://habr.com/ru/post/457862/?utm_campaign=457862&utm_source=habrahabr&utm_medium=rss
Нажмите здесь для печати.