【发布时间】:2018-03-12 08:57:15
【问题描述】:
伙计们,我正面临NavigationController 的一个奇怪问题。现有的答案根本没有帮助!!!!
这是应用程序的基本场景:
- 有两个视图 - 主视图和第二视图
- 当我碰巧点击使用 segue 进入第二个视图时,主视图中有一个按钮。
- 在第二个视图中,当我在文本视图中输入某个字段并单击一个名为“加入”的按钮后,它会触发“joinMeeting()”函数 并且应该加入会议。
但是,当我这样做时,调试器会显示:
“警告:尝试在 其视图不在窗口中 等级制度!”
所以我已经阅读了大部分的胎面,并且考虑到它是由于 viewDidAppear 方法而发生的,但我必须在 viewDidAppear 之前完成第 n 个工作。点击按钮后一切都会发生。
joinMeeting() 被成功调用并且 print 方法返回 0 这意味着没有 issue(https://developer.zoom.us/docs/ios/error-codes/) 和成功的 SDK 连接但是在调试器中显示此 “警告” 错误之后,应用程序中没有任何反应。
如果有帮助,下面是触发 joinBtn 的代码:
/**
Triggers when Join Button is clicked from second view.
*/
@IBAction func joinMeeting(_ sender: Any) {
if( activityID.text == "" ) {
let alert = UIAlertController(title: "Field is Blank", message: "Activity ID cannot be blank.", preferredStyle: UIAlertControllerStyle.alert)
alert.addAction(UIAlertAction(title: "Ok", style: UIAlertActionStyle.default, handler: nil))
self.present(alert, animated: true, completion: nil)
return;
}
let ms: MobileRTCMeetingService? = MobileRTC.shared().getMeetingService()
if ms != nil {
ms?.delegate = self;
// //For Join a meeting
let paramDict: [AnyHashable: Any] = [
kMeetingParam_Username: kSDKUserName,
kMeetingParam_MeetingNumber: activityID.text!,
]
let ret: MobileRTCMeetError? = ms?.joinMeeting(with: paramDict)
print("onJoinaMeeting ret:\(String(describing: ret))")
}
}
如果有人知道或知道我在这里缺少什么,请提供帮助。
【问题讨论】:
-
哪行代码抛出了这个错误?
-
在“let ret: MobileRTCMeetError? = ms?.joinMeeting(with: paramDict)”之后...触发错误
-
那么您应该编辑您的问题以包含
joinMeeting(with:)的定义。如果没有Minimal, Complete and Verifiable example,您的问题将被视为离题。 -
对此感到抱歉.. 稍微更新了问题。添加“joinMeeting() 成功”
-
ms?.joinMeeting(with: paramDict)不能调用名为joinMeeting的 IBAction,因为它们的函数签名明显不同。似乎MobileRTCMeetingService有另一种称为joinMeeting(with:)的方法,这是您在有问题的线路上调用的方法,而不是joinMeeting(_:),它是连接到您的UIButton 的IBAction。