V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
touzi
96.86D
V2EX  ›  Swift

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

  •  
  •   touzi ·
    PRO
    · Jan 5, 2016 · 5101 views
    This topic created in 3766 days ago, the information mentioned may be changed or developed.
    1. iOS 初学者,用的是 Swift 语言
    2. 今天在写一个登录成功后跳转到下一个 UITableViewController
    3. UITableViewController 带有一个 UINavigationBar
    4. 问题来了:我用 presentViewController 方法跳转到 UINavigationBar,这时不能将值传递给 UITableViewController

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

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

    7 replies    2016-01-06 12:21:45 +08:00
    targz
        1
    targz  
       Jan 5, 2016
    首先,你要知道如何传值。 OC 和 swift 只是语法不同,写法不同罢了。去想一想如何传值
    touzi
        2
    touzi  
    OP
    PRO
       Jan 6, 2016
    @targz 真心不知道, oc 也没有用过。麻烦告诉一下。
    lukic
        3
    lukic  
       Jan 6, 2016
    查一下 segue
    iAugus
        4
    iAugus  
       Jan 6, 2016
    你的意思是 TableViewController 前面还有一个 UINavigationController 是吧?可以 Segue 传值: https://gist.github.com/iAugux/80202c13201d5a0fcbc2

    也可以用 KVC 或者协议传值
    touzi
        5
    touzi  
    OP
    PRO
       Jan 6, 2016
    @iAugus segue 传值时,绑定 button,那么只要点击就会被触发,并且跳转.即使我通过 segue.identifier 前面加一个判断,也无效,依旧跳转,不会因为条件不足而停止跳转.
    touzi
        6
    touzi  
    OP
    PRO
       Jan 6, 2016
    @iAugus KVC 不了解,协议看用了,但很繁琐,所以寻找更好的解决方法.
    iAugus
        7
    iAugus  
       Jan 6, 2016
    @touzi 你看一下`prepareForSegue`的定义也知道你的判断肯定不会影响它的跳转啊。
    写了一个简单的 Demo : https://www.dropbox.com/s/ba6841csjynlyvw/Test.zip?dl=0
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3141 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 39ms · UTC 14:36 · PVG 22:36 · LAX 07:36 · JFK 10:36
    ♥ Do have faith in what you're doing.