2017-03-25 29 views
0

我正在使用Swift for JSON的Mapper庫。如何在Swift中爲這種通用數據類型添加擴展?

爲了得到它變成一個變量,你這樣做:

try firstName = map.from("first_name")

有了自動完成,我可以看到的map.from結果是T類型的值,它是一個通用的,我認爲。

我想添加一個nilIfEmpty方法,如map.from(value).nilIfEmpty(),這樣如果json只是""我會讓它成爲零。它比map.from(value) == "" ? nil : map.from(value)

更緊湊很多,但是我怎麼寫呢?

+0

你的方法有返回類型(字符串),而不是類'from'包含在運行。 – Alexander

回答

0

你可以只延長String

extension String { 
    func nilIfEmpty() { 
     return self.isEmpty ? nil : self 
    } 
} 

map.from(value).nilIfEmpty()