ios - 请教一个问题

查看:89
本文介绍了ios - 请教一个问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

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


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


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

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

解决方案

  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之前也有个不过几年前都放弃那个项目了。

这篇关于ios - 请教一个问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆