W Swift2, można mieć coś podobnego do następującego kodu:Swift 3, switch, sprawa hasPrefix
switch productIdentifier {
case hasSuffix("q"):
return "Quarterly".localized
case hasSuffix("m"):
return "Monthly".localized
default:
return "Yearly".localized
}
i będzie działać. W Swift 3, tylko w ten sposób mogę dokonać powyższych prac jest:
switch productIdentifier {
case let x where x.hasSuffix("q"):
return "Quarterly".localized
case let x where x.hasSuffix("m"):
return "Monthly".localized
default:
return "Yearly".localized
}
która zdaje się tracić wyrazistość wersji Swift2 - i to sprawia mi myśleć, że jestem brakuje czegoś. Powyższe jest prostą wersją oczywiście. Jestem ciekawy, czy ktoś ma lepszy sposób na to?
nie mogę spraw, aby twój kod Swift 2 działał na Swift 2.2.1/Xcode 7.3.1. Czy mógłbyś pokazać nam działający kod? – OOPer
To był działający kod - wziąłem prosto z mojej bazy kodów. Jednak niektóre rzeczy, takie jak rozszerzenie na Strings dla zlokalizowanych, nie będą działać dla ciebie, ponieważ nie masz tego rozszerzenia. – AlexK
Byłoby lepiej, gdybyś mógł pokazać takie brakujące części. Miałeś szczęście, że w krótkim czasie mogłeś uzyskać poprawną odpowiedź, taki brak informacji doprowadziłby do zalania niskiej jakości odpowiedzi. – OOPer