一个UIViewController向另一个UIViewController传参数怎么样才能更优雅
8楼 @zhangmeteor 不要把view里面的组件暴露出去,暴露一个没有任何意义的属性,通过这个属性传值就好了。这个方法已经很简单很实用了,一般情况下都够用了把!不知道为什么还需要「优雅」的传值方法。
这种想法太搞笑了。优雅与否不重要,关键是合不合理。
一般来说自定义initWithXXXX方法就可以了,如果另外一个vcB是由vcA创建的话;
如果两个vc是独立的,而且是在创建之后再传递,只需要一个参数的话就property(毋容置疑!),如果多个参数又希望一起传当然是定义一个接口函数传呗。
如果要多个vc统一的传递方式,那首先你得抽象出这几个vc的特征作为父类,然后在父类中定义property或者接口函数罗。
能达到目的,以及能满足可见的短期内扩展性足以了,别吃饱了没事干。
我这里有一个非常优雅的方法,自己设计一门脚本语言,然后用oc实现这门脚本语言的编译器,保证oc和这门脚本语言可以双相调用。然后所有的vc创建都用你的脚本语言来实现,互相之间传参数,你觉得怎么优雅就怎么设计你的脚本语言就行了。完全能够自主选择,高端大气上档次,并且逼格也很高,可以对外说为了传参数自己设计实现了一门语言。