Swift 屬性字怎麼玩

發表於2016-08-02

在我們日常開發中經常會用到屬性字,比如這樣一個很普通的需求。

11954071-b718d8ae417a8904
配圖

先不要管為啥前面有了人民幣符號後面還要加個”元” ,純粹為了屬性字多點。 這一小段文字 有四種顏色和字型。錢和地址是從介面抓的,其他是我們前端寫的,一般情況應該怎麼寫呢 ?

普通玩兒法

寫一個方法 傳入一個money,addr 。然後進行組裝。程式碼有點長,但也算實現了需求。

但如果專案中有很多這種類似的屬性字 ,每次都要寫這麼多程式碼,著實有點痛,有沒有高階點的玩兒法呢?

鏈式玩兒法

首先對一些基礎的操作稍作封裝

注意 我在設定顏色和字型的時候都返回了self,以便鏈式呼叫

然後再自定義一個操作符

那麼現在怎麼玩兒呢?

以後所有這種類似的屬性字也都這麼鏈式呼叫了 ,程式碼量減少了好多 。

呼叫的程式碼,效果一樣一樣的

12954071-944d4eac58979532
配圖
函式式的玩兒法

先宣告一個函式的型別,過載下運算子。
這種是先把所有屬性裝配好再傳入attr

呼叫的地方

13954071-e85df0689f7ecefa
配圖

三種玩兒 喜歡哪個用哪個。程式碼順便上傳github,供大家參考

https://github.com/smalldu/ZZAttributeString

相關文章