Вопросы с тегом 'guard-statement'

Заявление о защите используется для передачи программного управления из области действия, если одно или несколько условий не совпадают.
13

Ключевое слово Swift guard

В Swift 2 введено ключевое слово guard, которое можно использовать для обеспечения готовности готовых к отправке данных. Пример, который я видел на этом веб-сайте, демонстрирует функцию submitTapped: func submitTapped() { guard username.text.ch...
11 июн. '15 в 21:09
1

Охрана при настройке нескольких свойств класса в Swift 2

Это достаточно тривиально, чтобы сделать что-то вроде этого: class Collection { init(json: [String: AnyObject]){ guard let id = json["id"] as? Int, name = json["name"] as? String else { print("Oh noes, bad JSON!") ...
07 июл. '15 в 14:20
1

Как использовать охрану вне функции?

Можно ли использовать guard вне функции? Далее выдается сообщение об ошибке, которое должно быть использовано для возврата или разрыва, но в этом случае это невозможно. var var1 = String?() guard let validVar = var1 else { print("not nil") }
29 сент. '15 в 4:10
2

Почему охранников называют "охранниками"?

Кто-нибудь знает, что является источником имени для конструкции, называемой защитой? func x | cond1 -> expr1 ... | condN -> exprN Статья в Википедии Guard_ (computer_science) дает некоторую историческую перспективу, но не име...
23 июн. '17 в 16:34
1

Почему охранник допускает, что x = x демонстрирует поведение в разных областях?

Почему защитник пусть x = x внутри метода ведет себя иначе, чем снаружи? Пример кода ниже скопирован прямо из игровой площадки. var x:Int? = 3 func foo(x: Int?) { guard let x = x else { return } print(x) // print "3\n" } fo...
17 июн. '15 в 2:13
1

несогласованные заявления

//Выполнение let сначала, а затем bool check in guard statement приводит к ошибке компиляции self.action = { [weak self] in guard let `self` = self, data.isJSON() else { return } //Сначала сделаем проверку bool, а затем пусть работаем ...
26 мая '16 в 19:53
1

Почему не защищает создание развернутого var?

Зачем мне разворачивать переменную, unwrapped в заключительном возвращении? Разве охранник не должен справляться с этим? func test() -> String { let fmt = NSNumberFormatter() let myValue:Double? = 9.50 guard let unwrapped = myValue el...
28 нояб. '15 в 4:46
2

Swift 1.2 - 2.0 конверсия - защита против, если пусть

Я пытаюсь преобразовать код из Swift 1.2 в 2.0. У меня есть код ниже в Swift 1.2 //enable OR disable keys. if(discountAmountTextField.text.isEmpty){ keypadView.disableNotRequiredKeys() }else{ keypadView.enableRequiredKeys() } Есть два пути...
01 окт. '15 в 16:07
2

Swift 2.0 защищает меня от ошибок

Я использовал функцию охраны и когда я набрал инструкцию охраны ниже: var IOUArray = [IOU(amount: 20, payer: "Isabella", description: "test"),IOU(amount: 30, payer: "Dad", description: "Test2")] NSKeyedArchiver.archiveRootObject(IOUArray, toFile: "...
03 янв. '15 в 1:19
1

Swift: упростить отладку, улавливая возвращаемое значение в заявлении отсрочки

Поэтому мне нравится объявлять переменные для хранения возвращаемого значения, а затем возвращать указанную переменную на следующей строке, тем самым упрощая отладку моего кода, я могу просто установить точку останова в обратной линии и посмотреть, ...
15 июл. '16 в 11:00
2

Использование assert в блоке else оператора guard

Я сталкивался с этим в инструкциях по внедрению Google Analytics: guard let gai = GAI.sharedInstance() else { assert(false, "Google Analytics not configured correctly") } Я никогда не думал, что возможно иметь утверждение в предложении else бе...
11 февр. '19 в 20:56
3

Как элегантно сочетать охранное выражение с условием?

У меня в настоящее время есть охранное выражение: guard let designationQuota = Defaults.quotas.value?.designationQuota, designationQuota > 0 else { return AppDelegate.shared.presentNoDesignationQuotaWarning() } однако я хочу сделать защ...
10 янв. '19 в 11:39
1

Haskell IO отступ

Я попытался переписать ту программу, которая работает: nameIOite :: IO () nameIOite = do putStrLn "What your name ?" name <- getLine if name 'elem' ["Simon","John","Phil"] --if name == "Simon" || name == "John" || name == "Phil" als...
12 янв. '19 в 14:04
1

Являются ли выражения "guard let" и "if let" отличными от "guard" и "if"?

Я знаю, что охранное выражение может быть использовано так guard let someConstant = someOptional() else { // ... } И я пытался сделать struct MyStruct { let aString: String init?() { guard aString = optionalString() else { retu...
06 мар. '19 в 8:29
2

Условная привязка к существующему имуществу

Я ищу способ улучшить этот код кода: struct Struct { let i: Int init?(i: Int?) { guard let unwrappedI = i else { return nil } self.i = unwrappedI } } Было бы неплохо удалить временную переменную unwrappedI. Какие-либо ...
03 янв. '17 в 2:50