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)

注意哦,临时变量只适合传简单值,别指望拿它搞数组、字典那种复杂结构,容易出问题。如果你跳了好几个页面还要回头取数据,那就别用它了,考虑用单例协议+闭包这些更靠谱。

简单场景下,它的优势就是一个字——快!不用考虑解耦,不用多写代码,尤其适合做原型、临时代码。你也可以看看这些相关内容:数据传递:单向数据流示例多界面数据传递与代理协议实践

如果你刚好在做个轻量的页面跳转传参,那试试临时变量,还真挺顺手。

rar 文件大小:40.83KB