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

Swift - это безопасный, быстрый и выразительный язык программирования общего назначения, разработанный Apple Inc. для своих платформ и Linux. Swift с открытым исходным кодом. Используйте тег только для вопросов о языковых функциях или необходимости кода в Swift. Используйте теги [ios], [ipados], [macos], [watch-os], [tvos], [cocoa-touch] и [cocoa] для (не зависящих от языка) вопросов о платформах или фреймворках.

3
Как использовать общий протокол в качестве типа переменной
Допустим, у меня есть протокол: public protocol Printable { typealias T func Print(val:T) } А вот и реализация class Printer<T> : Printable { func Print(val: T) { println(val) } } Я ожидал, что я должен иметь возможность использовать Printableпеременную для вывода таких значений: let p:Printable = Printer<Int>() p.Print(67) Компилятор жалуется …
89 ios  xcode  generics  swift 

2
Инициализатор недоступен из-за «внутреннего» уровня защиты
У меня есть протоколы ВойтиСтратегия public protocol LoginStrategy { func login(_ viewController: UIViewController) func getUserInfo(withCompletionHandler completionHandler: @escaping (_ userInfo: [String: Any]?) -> ()) func createLoginButton(_ frame: CGRect, withCompletionHandler completionHandler: @escaping (_ loginButton: UIView) -> ()) func getUserId() -> String } и два класса: LoginProvider public class LoginProvider { public let …


12
Пользовательский init для UIViewController в Swift с настройкой интерфейса в раскадровке
У меня проблема с написанием пользовательского init для подкласса UIViewController, в основном я хочу передать зависимость через метод init для viewController, а не устанавливать свойство напрямую, например viewControllerB.property = value Итак, я сделал собственный init для моего viewController и вызвал супер назначенный init init(meme: Meme?) { self.meme = meme super.init(nibName: …

2
Как создать объект SceneKit SCNSkinner в коде?
У меня есть приложение Swift, использующее SceneKit для iOS 8. Я загружаю сцену из файла .dae, который содержит сетку, управляемую скелетом. Во время выполнения мне нужно изменить координаты текстуры. Использование преобразования не вариант - мне нужно вычислить другой, совершенно новый UV для каждой вершины в меше. Я знаю, что геометрия …
88 swift  xcode  ios8  scenekit 

8
Как вы обмениваетесь данными между контроллерами представления и другими объектами в Swift?
Скажем, у меня есть несколько контроллеров представления в моем приложении Swift, и я хочу иметь возможность передавать данные между ними. Если я на несколько уровней ниже в стеке контроллера представления, как передать данные другому контроллеру представления? Или между вкладками в контроллере представления панели вкладок? (Обратите внимание, этот вопрос - "звоночек".) …
88 ios  swift 

7
Почему инициализаторы Swift не могут вызывать удобные инициализаторы в своем суперклассе?
Рассмотрим два класса: class A { var x: Int init(x: Int) { self.x = x } convenience init() { self.init(x: 0) } } class B: A { init() { super.init() // Error: Must call a designated initializer of the superclass 'A' } } Я не понимаю, почему это запрещено. В …

11
Есть ли альтернатива Swift для NSLog (@ «% s», __PRETTY_FUNCTION__)
В Objective C вы можете зарегистрировать метод, который вызывается, используя: NSLog(@"%s", __PRETTY_FUNCTION__) Обычно это используется из макроса регистрации. Хотя Swift не поддерживает макрос (я думаю), я все же хотел бы использовать общий оператор журнала, который включает имя вызванной функции. Возможно ли это в Swift? Обновление: теперь я использую эту глобальную …
88 swift 

5
Noop для исчерпывающих заявлений о переключении Swift
Swift требует исчерпывающих операторов switch и чтобы в каждом случае имелся исполняемый код. Метка case в переключателе должна иметь хотя бы один исполняемый оператор Кто-нибудь нашел хороший способ справиться со случаями, когда вы на самом деле ничего не хотите делать? Я могу поместить туда println (), но это кажется грязным.
88 swift 

7
Неизменяемые / изменяемые коллекции в Swift
Я имел в виду руководство Apple по программированию Swift для понимания создания изменяемых / неизменяемых объектов (массив, словарь, наборы, данные) на языке Swift. Но я не мог понять, как создавать неизменяемые коллекции в Swift. Я хотел бы увидеть в Swift эквиваленты для следующего в Objective-C Неизменяемый массив NSArray *imArray = …

12
Swift 3.0 данные в строку?
func application(_ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) {} Я хочу deviceTokenнатянуть но: let str = String.init(data: deviceToken, encoding: .utf8) str является nil быстрый 3.0 как я могу позволить , dataчтобы string? Регистрация для push-уведомлений в Xcode 8 / Swift 3.0? не работает, и ответ - несколько месяцев назад, я пробовал: …
88 swift  string 


6
Проверка значения необязательного Bool
Когда я хочу проверить, истинно ли значение Optional Bool, это не сработает: var boolean : Bool? = false if boolean{ } Это приводит к этой ошибке: Необязательный тип @IvalueBool? не может использоваться как логическое; вместо этого проверьте '! = nil' Я не хочу проверять ноль; Я хочу проверить, истинно ли …


14
Swift - Как удалить десятичную дробь из числа с плавающей запятой, если десятичная дробь равна 0?
Я показываю расстояние с одним десятичным знаком, и я хотел бы удалить это десятичное число, если оно равно 0 (например, 1200,0 км), как я могу сделать это быстро? Я показываю это число так: let distanceFloat: Float = (currentUser.distance! as NSString).floatValue distanceLabel.text = String(format: "%.1f", distanceFloat) + "Km"

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.