iiOS临OS时临变量传时值实践变量传值方法
iOS 的 UIViewController 之间传值有多招,比如代理、闭包、单例啥的,但说实话,想偷个懒、图个快,用临时变量真挺方便。你要是在搞页面跳转的时候只想传个小数据,像字符串
、数字
这种,那临时变量就刚刚好。
你在 VC1 里建个tempVariable
,赋上值,跳转前创建 VC2 实例,再把值一丢,搞定。响应快、代码也清爽。
比如用Objective-C
就这样:
// 在 VC1.m
VC2 *vc2 = [[VC2 alloc] init];
vc2.receivedValue = self.tempVariable;
[self.navigationController pushViewController:vc2 animated:YES];
Swift 也差不多,写起来像这样:
// 在 VC1.swift
let vc2 = VC2()
vc2.receivedValue = self.tempVariable
self.navigationController?.pushViewController(vc2, animated: true)
注意哦,临时变量只适合传简单值,别指望拿它搞数组、字典那种复杂结构,容易出问题。如果你跳了好几个页面还要回头取数据,那就别用它了,考虑用单例或协议+闭包这些更靠谱。
简单场景下,它的优势就是一个字——快!不用考虑解耦,不用多写代码,尤其适合做原型、临时代码。你也可以看看这些相关内容:数据传递:单向数据流示例 或 多界面数据传递与代理协议实践。
如果你刚好在做个轻量的页面跳转传参,那试试临时变量,还真挺顺手。
40.83KB
文件大小:
评论区