Вопросы с тегом «swift4»

Используйте этот тег только для вопросов, непосредственно связанных с изменениями в версии 4 языка программирования Apple Swift. Используйте тег [swift] для более общих языковых вопросов или теги [ios], [cocoa], [apple-watch] и т. Д. Для вопросов о разработке на платформах Apple.

485
Использование Swift 3 @objc в режиме Swift 4 не рекомендуется?

Вкратце, при использовании Xcode 9 Beta я столкнулся со следующим предупреждением: Использование Swift 3 @objc в режиме Swift 4 не рекомендуется. Обратите внимание на устаревшие предупреждения @objc, проверьте ваш код с включенным ведением журнала «Использование устаревшего Swift 3 @objc» и...

445
Как мне написать dispatch_after GCD в Swift 3, 4 и 5?

В Swift 2 я смог использовать, dispatch_afterчтобы отложить действие, используя грандиозную центральную диспетчеризацию: var dispatchTime: dispatch_time_t = dispatch_time(DISPATCH_TIME_NOW, Int64(0.1 * Double(NSEC_PER_SEC))) dispatch_after(dispatchTime, dispatch_get_main_queue(), { // your function...

294
Как я могу использовать подписки нарезки строк в Swift 4?

У меня есть следующий простой код, написанный на Swift 3: let str = "Hello, playground" let index = str.index(of: ",")! let newStr = str.substring(to: index) Из Xcode 9 beta 5 я получаю следующее предупреждение: « substring(to:)» устарело: используйте Stringподстрочный индекс с оператором...

162
предупреждение: «символы» устарели: используйте напрямую строку или подстроку

символы - свойство экземпляра String, не рекомендуется с Xcode 9.1 Было очень полезно получить подстроку из String, используя charactersсвойство, но теперь оно устарело, и Xcode предлагает использовать substring. Я попытался проверить SO вопросы и руководства для разработчиков Apple для того же...

131
Как справиться с устареванием @objc с помощью #selector () в Swift 4?

Я пытаюсь преобразовать исходный код своего проекта из Swift 3 в Swift 4. Одно предупреждение, которое дает мне Xcode, касается моих селекторов. Например, я добавляю цель к кнопке, используя обычный селектор вроде этого: button.addTarget(self, action: #selector(self.myAction), for: .touchUpInside)...

117
Массивы декодирования Swift JSONDecode не работают, если декодирование одного элемента не удается

При использовании протоколов Swift4 и Codable у меня возникла следующая проблема - похоже, что нет возможности JSONDecoderпропустить элементы в массиве. Например, у меня есть следующий JSON: [ { "name": "Banana", "points": 200, "description": "A banana grown in Ecuador." }, { "name": "Orange" } ] И...

114
С JSONDecoder в Swift 4 могут ли отсутствующие ключи использовать значение по умолчанию вместо того, чтобы быть необязательными свойствами?

Swift 4 добавил новый Codableпротокол. Когда я JSONDecoderего использую, кажется, что все необязательные свойства моего Codableкласса должны иметь ключи в JSON, иначе возникает ошибка. Делать каждое свойство моего класса необязательным кажется ненужной проблемой, поскольку я действительно хочу...

104
Как декодировать свойство с типом словаря JSON в декодируемом протоколе Swift 4

Скажем, у меня есть Customerтип данных, который содержит metadataсвойство, которое может содержать любой словарь JSON в объекте клиента. struct Customer { let id: String let email: String let metadata: [String: Any] } { "object": "customer", "id": "4yq6txdpfadhbaqnwp3", "email":...

102
Как использовать настраиваемые ключи с протоколом Decodable Swift 4?

Swift 4 представил поддержку собственного кодирования и декодирования JSON через Decodableпротокол. Как мне использовать для этого специальные ключи? Например, скажем, у меня есть структура struct Address:Codable { var street:String var zip:String var city:String var state:String } Я могу...

101
панель навигации rightbaritem изображение-кнопка ошибка iOS 11

Этот код нормально работает в ios10. Я получаю свой ярлык и кнопку с изображением, которая представляет собой профиль с фотографией пользователя, круглая круглая .. Хорошо. но при запуске симулятора xcode 9 ios11 я растягиваю его. рамка кнопки должна быть 32x32, при проверке сима и получении...

92
Модуль, скомпилированный с помощью Swift 4.0, нельзя импортировать в Swift 4.0.1.

Однако я перекомпилировал фреймворк, используя тот же Xcode, и он все еще дает мне эту ошибку. Базовый SDK iOS 11.1 для обоих Swift Language Version Swift 4.0 для обоих Не используется Pods / Carthage Я надеюсь, что кто-нибудь может знать...

90
Как декодировать вложенную структуру JSON с помощью протокола Swift Decodable?

Вот мой JSON { "id": 1, "user": { "user_name": "Tester", "real_info": { "full_name":"Jon Doe" } }, "reviews_count": [ { "count": 4 } ] } Вот структура, в которой я хочу ее сохранить (неполная) struct ServerResponse: Decodable { var id: String var username: String var fullName: String var...

79
Xcode 9: модуль, скомпилированный с помощью Swift 3.1, не может быть импортирован в Swift 4.0

После обновления до Xcode 9 я попытался создать один из своих проектов. Я использую модуль FacebookLogin . У меня ошибка компилятора в FacebookLogin / LoginButton.swift @testable import FacebookCore ❌ Module compiled with Swift 3.1 cannot be imported in Swift 4.0 В настройках моей целевой сборки...