首頁  >  問答  >  主體

ios - 请教一个问题

我想做一个这样的功能,把一些控件的属性设置放到一个单独的文件里,分开来,就像html和css那样,


这样写界面的时候就比较简单了


不用一大串一大串的设置属性。

现在的问题是,这个属性文件没有代码自动补全,比较麻烦,怎么样才能实现代码补全的功能?
还有个问题是对属性的解释有没有什么高效的办法?一个一个属性去解析然后设置,也比较麻烦
我用了kvc,但是kvc似乎不能解决所有问题

阿神阿神2727 天前614

全部回覆(2)我來回復

  • 怪我咯

    怪我咯2017-04-18 09:35:29

    1. 你這種檔案要程式碼補全沒有現成工具,只能自己寫Xcode插件,把sdk裡的所有關鍵字和系統方法名稱放進去。或是用文字編輯器,一般文字編輯器都比較方便定義自己的語法高亮和程式碼補全。

    2. 解釋屬性貌似沒有更簡便的方法。不過不需要一個一個事先定義好,可以在運行時用 respondsToSelectorperformSelector: NSSelectorFromString(set...)来设置属性值。对css里的属性名进行首字母大写然后前面加个 "set" 就是方法名了。
      class_copyMethodList 可以取得某個類別的所有方法。 要注意避免 crash。

    3. 你這種寫css還不如直接用 autolayout , 第三方的 autolayout 可以用程式碼和設定檔定義約束,跟 css 定義差不多。

    4. 之前已經有人在css佈局這塊做了很多研究,你可以研究下他們的程式碼。例如 https://github.com/gavinkwoe/... 例如 https://github.com/hackers-pa... 例如 https://github.com/tolo/Inter...。
      Facebook之前也有個不過幾年前都放棄那個專案了。

    回覆
    0
  • 大家讲道理

    大家讲道理2017-04-18 09:35:29

    像css那樣創建的話,你可以創建一堆基類即可,或者分類

    回覆
    0
  • 取消回覆