Swift 写 iOS 时用 presentViewController 转场传递参数问题

2016-01-05 20:40:09 +08:00
 touzi
  1. iOS 初学者,用的是 Swift 语言
  2. 今天在写一个登录成功后跳转到下一个 UITableViewController
  3. UITableViewController 带有一个 UINavigationBar
  4. 问题来了:我用 presentViewController 方法跳转到 UINavigationBar,这时不能将值传递给 UITableViewController

网上没有找到特别好用的(如协议)

现在想问一下,大家如何解决这种问题

4562 次点击
所在节点    Swift
7 条回复
targz
2016-01-05 22:08:55 +08:00
首先,你要知道如何传值。 OC 和 swift 只是语法不同,写法不同罢了。去想一想如何传值
touzi
2016-01-06 09:20:46 +08:00
@targz 真心不知道, oc 也没有用过。麻烦告诉一下。
lukic
2016-01-06 09:45:13 +08:00
查一下 segue
iAugus
2016-01-06 11:09:05 +08:00
你的意思是 TableViewController 前面还有一个 UINavigationController 是吧?可以 Segue 传值: https://gist.github.com/iAugux/80202c13201d5a0fcbc2

也可以用 KVC 或者协议传值
touzi
2016-01-06 11:18:11 +08:00
@iAugus segue 传值时,绑定 button,那么只要点击就会被触发,并且跳转.即使我通过 segue.identifier 前面加一个判断,也无效,依旧跳转,不会因为条件不足而停止跳转.
touzi
2016-01-06 11:19:10 +08:00
@iAugus KVC 不了解,协议看用了,但很繁琐,所以寻找更好的解决方法.
iAugus
2016-01-06 12:21:45 +08:00
@touzi 你看一下`prepareForSegue`的定义也知道你的判断肯定不会影响它的跳转啊。
写了一个简单的 Demo : https://www.dropbox.com/s/ba6841csjynlyvw/Test.zip?dl=0

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/248592

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX