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

Combine - это декларативный API Swift от Apple для обработки значений во времени. Он основан на семантике реактивных потоков. Используйте этот тег для вопросов о платформе Combine.
2 ответа

Расширение идентифицируемого протокола для данных списка SwiftUI

Я экспериментировал с SwiftUI и столкнулся с проблемой при реализации модели данных для одного из моих списков. Мой план состоял в том, чтобы создать протокол CardProtocol в качестве протокола данных для элементов моих списков, а затем есть реализац…
12 июн '19 в 02:51
1 ответ

Какой правильный синтаксис для использования Publishers.debounce() в Swift Combine?

В видео Apple WWDC 2019 года Swift Combine in Practiceони демонстрируют, используя debounce издатель, чтобы замедлить скорость сообщений. return $username .debounce(for: 0.5, scheduler: RunLoop.main) .removeDuplicates() .eraseToAnyPublisher() Однако…
13 июн '19 в 14:31
1 ответ

Каким должен быть планировщик для задержки и отказов в Combine? (Только Xcode 12 beta 1)

Эта проблема в идеале должна быть удалена, поскольку она связана только с устаревшей бета-версией Xcode. [WWDC Video 721 Объединение на практике][1] указывает на то, что RunLoop.main должен быть допустимым планировщиком для использования в сочетании…
17 июн '19 в 00:48
1 ответ

Предотвращение принудительной распаковки в рамках Swift Combine

В видео 721 WWDC 2019 основа основного примера начинается следующим образом: let trickNamePublisher = NotificationCenter.default.publisher(for: .newTrickDownloaded) .map { notification in return notification.userInfo?["data"] as! Data } Это кажется …
22 июн '19 в 19:54
1 ответ

Работа с Swift 5 Exclusivectivity Enforcement при использовании Combine

В Swift 5 принудительное использование "Эксклюзивного доступа к памяти" теперь включено по умолчанию для сборок релизов, как упоминалось в этом сообщении в блоге Swift.org: Swift 5 Эксклюзивное правоприменение Я понимаю причину этой функции, но с но…
25 июн '19 в 19:07
4 ответа

Преобразование @State в издателя

Я хочу использовать @State переменная как для пользовательского интерфейса, так и для вычисления значения. Например, допустим, у меня есть TextField связан с @State var userInputURL: String = "https://", Как бы я взял это userInputURL и подключить е…
04 июл '19 в 04:56
0 ответов

Не удается получить доступ к PropertyWrappers при использовании didSet или передаче метода

Я не знаю, это ошибка или ожидаемое поведение @PropertyWrappers но мне кажется странным Допустим, у меня есть простой класс TestViewModel import Foundation import Combine final class TestViewModel { @Published var someText: String = "" } Когда я соз…
05 июл '19 в 10:57
1 ответ

Swift Combine: Для чего нужны эти многоадресные функции и как их использовать?

Борясь с некоторыми проблемами объединения, я натолкнулся на раздел "Работа с несколькими подписчиками" в https://developer.apple.com/documentation/combine/publisher: func multicast<S>(() -> S) -> Publishers.Multicast<Self, S> func…
07 июл '19 в 02:22
1 ответ

SwiftUI ObjectBinding не получит обновление didchange от привязываемого объекта с помощью комбайна

Я тестирую платформу Combine и использую BindableObject в качестве концентратора уведомлений для передачи данных между несколькими представлениями в SwiftUI ContentView. Одним из представлений является таблица. Я нажимаю на строку, и значение опреде…
16 июл '19 в 13:11
1 ответ

Вызов метода Debounce из BindableObject в SwiftUI

Я новичок в Swift и тем более в SwiftUI. Я начал создавать небольшой базовый проект. Я использую Github API для получения списка репозиториев. Поэтому я создал "панель поиска", так как SwiftUI не имеет компонента SearchBar. Я хотел бы выполнять опер…
23 июл '19 в 19:32
1 ответ

.send() и.sink(), похоже, больше не работают для PassthroughSubject в Xcode 11 Beta 5

В следующем коде "Тест" должен быть напечатан в консоли при нажатии кнопки, но это не так. Событие не отправлено через издателя. Есть идеи, что случилось с PassthroughSubject в Xcode 11 Beta 5? (в Xcode 11 Beta 4 это работает хорошо) var body: some …
30 июл '19 в 14:42
3 ответа

Опубликованные работы для одного объекта, но не для массива объектов

Я пытаюсь сделать индивидуально подвижные объекты. Я могу успешно сделать это для одного объекта, но как только я помещаю его в массив, объекты больше не могут двигаться. Модель: class SocialStore: ObservableObject { @Published var socials : [Social…
01 авг '19 в 07:57
1 ответ

Как связать несколько вызовов API с помощью dataTaskPublisher?

Я хочу получить данные из REST API, и для этого мне нужно сначала получить массив идентификаторов - первый вызов. После этого мне нужно сделать вызов API, используя каждый идентификатор. Я не хочу использовать завершение, а объединение. Я начал с da…
12 авг '19 в 05:33
1 ответ

Ошибка времени выполнения с использованием Combine: dyld: символ не найден: _$s7Combine9PublishedV9PublisherCyx_GAadAMc

Я использую Xcode 11 Beta 5 (11M382q) и iphone x с iOS 13 beta 6, и у меня возникает ошибка во время выполнения при попытке использовать Combine: dyld: символ не найден: _$s7Combine9PublishedV9PublisherCyx_GAadAMc У меня есть базовый класс, который …
15 авг '19 в 20:05
1 ответ

SwiftUI: тип выражения неоднозначен без дополнительного контекста, при передаче ObservableObject между представлениями

Я искал пример хранилища данных в SwiftUI и нашел этот пример. import SwiftUI import Combine class MyDatabase: ObservableObject { let didChange = PassthroughSubject<MyDatabase, Never>() var contacts: [Contact] = [ Contact(id: 1, name: "Anna"),…
23 авг '19 в 22:38
1 ответ

Не найдено подходящего изображения для Combine в аварийной остановке watchOS 5.2

Информация Мое приложение падает на Apple Watch, работающих под управлением watchOS 4 и 5. Некоторые новые функции (например, Combine), зависят от watchOS 6, и использование этих методов явно помечено @available(watchOSApplicationExtension 6.0.0, *)…
24 авг '19 в 16:04
0 ответов

Издатель против AnyPublisher в комбинате

Какова роль AnyPublisher в Combine и почему во многих примерах, в том числе в WWDC Combine На практике 27:40 они возвращают AnyPublisher, используя .eraseToAnyPublisher, а не просто вернуть издателя? В Apple Documents говорится Используйте AnyPublis…
28 авг '19 в 13:24
2 ответа

Можно ли объединить функцию document.ready и функцию нажатия кнопки?

Я пытаюсь написать генератор случайных названий таверн, и хотел бы, чтобы имена были готовы к моменту загрузки документа, и для нажатия кнопки, чтобы создать новое имя. Мне интересно, смогу ли я объединить эту функцию document.ready: $(document).rea…
29 авг '19 в 00:59
0 ответов

Чтение EnvironmentObject<T> вне View.body

Я создал объект BindableObject, связанный с моим пользовательским представлением. Я хочу обновить массив предметов в этом классе // in my vm: class ViewModel { func fetched() { listView.listData.items = viewModel.listItems } } final class ListData: …
07 июн '19 в 17:52
2 ответа

Получение привязки из существующего SwiftUI @States

Я поиграл с SwiftUI и Combine и чувствую, что, возможно, есть способ получить существующие свойства @State в представлении и создать новое. Например, у меня есть представление создания пароля, которое содержит пароль и поле passwordConfirm для польз…
10 июн '19 в 18:22