Wydaje mi się, że powinien istnieć prosty sposób przeprowadzenia opcjonalnej konwersji z String
na Int
w Swift, ale nie mogę tego rozgryźć.Najprostszy sposób na przekonwertowanie opcjonalnego ciągu na opcjonalny Int w Swift
value
to String?
i potrzebuję zwrócić Int?
.
Zasadniczo chcę, aby to zrobić, ale bez boilerplate:
return value != nil ? Int(value) : nil
Próbowałem to, co wydaje się pasować do konwencji Swifta i byłoby miło i zwięzły, ale nie rozpoznaje składnię:
return Int?(value)
Jak o 'Int (wartość? "") ' – vacawama
Tak, to jest lepsze. To dla mnie bardzo dziwne, że inicjator nie zaakceptuje opcji opcjonalnej i po prostu zwróciłby zero, gdyby jakikolwiek zero minęło. Przypuszczam, że system typu Swift miałby atak serca. – devios1
Zaktualizowałem swoją odpowiedź rozszerzeniem Int, które właśnie to robi. – vacawama