【发布时间】:2016-04-17 23:53:56
【问题描述】:
所以我正在快速构建一个简单的信使。我在viewWillAppear 上为不同的 UI 使用视图状态枚举,即 .Offline、.Default。我有一个convoVC 和一个InboxVC
从我的InboxVC,我正在转换到一个convoVC,它显示用户和另一个用户之间的消息,这些消息要么从收件箱中选择(在这种情况下,我想要conversationVC 的默认状态),要么选择当我从“撰写新消息”按钮(在这种情况下,我想要 conversationVC 的“.Compose”状态)转换时,来自使用搜索栏的查询。
我在设置convoVC 的状态时遇到问题,因为我的函数的发送者将segue 从InboxVC 调用到convoVC
如果按下撰写按钮进行转换,则为 UIBarbuttonItem 类型的发送者,如果按下 tableview 单元格进行转换,则为 myAppName.InboxVC 类型的发送者。
每个州发生的事情的代码都是微不足道的,因为没有更好的词。
这是我在InboxVC 中的操作函数,从我的tableView 的didSelectRowAtIndexPath method 或barButtonItem 选择器调用:
func compose(sender: AnyObject) {
self.performSegueWithIdentifier("toConversation", sender: sender)
}
我尝试在InboxVC 中声明的变量中捕获发件人(在撰写函数中和ViewWillDisappear 中但不是两者)并将其传输到convoVC 中的另一个变量,然后检查其类型以在@ 中设置状态987654338@.
我的问题是它总是为零。如何转移发件人?请帮助我是 swift 新手。 谢谢! (标记为 obj-c 因为翻译并不难)
变量在两个 VC 中都称为 sender,并声明为 AnyObject 类型?
我试过了
self.sender = sender
convoVC().sender = sender
我也试过
self.sender = sender
然后设置sender (in convoVC) = InboxVC().sender
【问题讨论】:
标签: ios objective-c swift