swift上手有好幾天了。發(fā)現(xiàn)swift除了本身的幾個基本類型轉(zhuǎn)換,一些比較特殊的數(shù)值類型轉(zhuǎn)換需要“橋接”到Objective-C來進(jìn)行~
代碼當(dāng)然也很簡單~
var numString = "1.0"var numDouble:DoublenumDouble = String.bridgeToObjectiveC(numString)().doubleValue//相當(dāng)于objective-c的" numdouble = [numString doubleValue] "http://numDouble值為:1.0
如果numString不是“數(shù)字”字符,而是其他字符呢?
var numString = "abc"var numDouble:DoublenumDouble = String.bridgeToObjectiveC(numString)().doubleValue//numDouble值為:0.0
這種情況不會引起編譯器的異常。繼續(xù)看以下的幾種情況:
var numString1 = "1.5abc"var numString2 = "2.abc0"var numString3 = "abc3.0"var numDouble:DoublenumDouble = String.bridgeToObjectiveC(numString1)().doubleValue//numDouble1值為:1.5numDouble = String.bridgeToObjectiveC(numString2)().doubleValue//numDouble2值為:2.0numDouble = String.bridgeToObjectiveC(numString3)().doubleValue//numDouble3值為:0.0
可以看出,doubleValue這個東東,從字符串的第一個字符開始索引,查找連續(xù)的數(shù)字字符(包含一個“.”),到第二個“.”或非數(shù)字的字符為止結(jié)束索引。
新聞熱點
疑難解答