Запитання з тегом «swift4»

Використовуйте цей тег лише для питань, безпосередньо пов’язаних із змінами у версії 4 мови програмування Apple Swift. Використовуйте тег [swift] для більш загальних мовних питань, або теги [ios], [какао], [apple-watch] тощо для питань про розробку на платформах Apple.

12
Використання виводу Swift 3 @objc у режимі Swift 4 застаріле?
Якщо коротко, використовуючи Xcode 9 Beta, я наткнувся на таке попередження: Використання висновку Swift 3 @objc у режимі Swift 4 застаріле. Будь ласка, зверніться до застарілих попереджень @objc про висновки, протестуйте свій код із ввімкненим журналом "Використання застарілого Swift 3 @objc" і вимкніть Swift 3 @objc. ** Після деяких досліджень …

13
Як записати 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 here }) Але це більше не здається компілювати з Swift 3. Який найкращий спосіб написати це в сучасному Swift?

18
Як я можу використовувати підписки String slicing в 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індекс підрізання з оператором "частковий діапазон від". Як можна використовувати цей індекс підрізання …
294 swift  swift4 

7
попередження: 'символи' застаріли: будь ласка, використовуйте String або Substring безпосередньо
символів - властивість екземпляра String, застаріле з Xcode 9.1 Було дуже корисно отримати підрядку з String, використовуючи charactersвластивість, але тепер він застарілий, і Xcode пропонує використовувати substring. Я намагався перевірити питання щодо SO та навчальні посібники / рекомендації для розробників яблук на ті ж самі. Але не вдалося побачити жодного …

5
Як я можу впоратися з припиненням виводу @objc за допомогою #selector () у Swift 4?
Я намагаюся перетворити вихідний код мого проекту з Swift 3 в Swift 4. Одне попередження Xcode дає мені про мої селектори. Наприклад, я додаю ціль до кнопки, використовуючи звичайний селектор на зразок цього: button.addTarget(self, action: #selector(self.myAction), for: .touchUpInside) Це попередження, яке воно показує: Аргумент '#selector' стосується методу екземпляра 'myAction ()' …
131 swift  xcode  swift4 

13
Швидкий масив декодування JSONDecode виходить з ладу, якщо декодування одного елемента не вдається
Під час використання протоколів Swift4 та Codable у мене виникла наступна проблема - схоже, немає можливості дозволити JSONDecoderпропускати елементи в масиві. Наприклад, у мене є такий JSON: [ { "name": "Banana", "points": 200, "description": "A banana grown in Ecuador." }, { "name": "Orange" } ] І структура Codable : struct …
116 arrays  json  swift  swift4  codable 

7
Якщо JSONDecoder у Swift 4, чи можуть пропущені ключі використовувати значення за замовчуванням замість того, щоб бути необов’язковими властивостями?
Swift 4 додав новий Codableпротокол. Коли я використовую, JSONDecoderздається, потрібні всі необов'язкові властивості мого Codableкласу, щоб мати ключі в JSON, або це видає помилку. Зробити будь-яке властивість мого класу необов’язковим здається непотрібним клопотом, оскільки те, що я дійсно хочу, це використовувати значення в json або значення за замовчуванням. (Я не …
114 json  swift  swift4  codable 


12
Як розшифрувати властивість з типом словника JSON у протоколі декодування Swift 4
Скажімо, у мене є Customerтип даних, який містить metadataвластивість, яка може містити будь-який словник JSON в об’єкті клієнта struct Customer { let id: String let email: String let metadata: [String: Any] } { "object": "customer", "id": "4yq6txdpfadhbaqnwp3", "email": "john.doe@example.com", "metadata": { "link_id": "linked-id", "buy_count": 4 } } metadataВластивість може бути …
103 json  swift  swift4  codable 

4
Як використовувати користувацькі ключі з протоколом розшифровки Swift 4?
Swift 4 представив підтримку нативного кодування та декодування JSON через Decodableпротокол. Як використовувати для цього спеціальні ключі? Скажімо, у мене є структура struct Address:Codable { var street:String var zip:String var city:String var state:String } Я можу це кодувати JSON. let address = Address(street: "Apple Bay Street", zip: "94608", city: "Emeryville", …
102 json  swift  swift4  codable 

12
навігаційна панель справа-баріть помилка кнопки зображення iOS 11
Цей код працює нормально в ios10. я отримую мітку та кнопку зображення, яка є профілем фотографії користувача, кругла кругла .. ОК. але при запуску симулятора xcode 9 ios11 я отримую його розтягнутий. Рамка кнопки повинна бути 32x32, коли перевіряється на сим і отримує перегляд і каже xcode для опису подання, …
101 ios  swift  ios11  xcode9-beta  swift4 

8
Модуль, скомпільований із Swift 4.0, не можна імпортувати в Swift 4.0.1
Однак я перекомпілював фреймворк, використовуючи той самий Xcode, і він все ще видає мені цю помилку. Базовий SDK iOS 11.1 для обох Swift Мовна версія Swift 4.0 для обох Не використовується стручки / Карфаген Сподіваюся, хтось може це знати
91 ios  swift  xcode  xcode9  swift4 

6
Як декодувати вкладену структуру 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 reviewCount: Int enum CodingKeys: …
91 json  swift  swift4  codable 

7
UIApplication.registerForRemoteNotifications () потрібно викликати лише з основного потоку
Xcode 9 (iOS 11) показує мені помилку / попередження під час реєстрації для push (віддаленого) сповіщення. Ось повідомлення про помилку І ось код, я спробував: let center = UNUserNotificationCenter.current() center.delegate = self center.requestAuthorization(options: [.sound, .alert, .badge]) { (granted, error) in if error == nil{ UIApplication.shared.registerForRemoteNotifications() } } Помилка / рядок …

14
Xcode 9: Модуль, скомпільований із Swift 3.1, не можна імпортувати в Swift 4.0
Після оновлення до Xcode 9 я спробував створити один зі своїх проектів. Я використовую FacebookLogin pod. У мене помилка компілятора у FacebookLogin / LoginButton.swift @testable import FacebookCore ❌ Module compiled with Swift 3.1 cannot be imported in Swift 4.0 У налаштуваннях збірки моєї цілі мовною версією Swift встановлено Swift 3.2 …
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.