gpt4 book ai didi

swift - 对分机成员的模糊引用

转载 作者:行者123 更新时间:2023-11-28 15:18:43 25 4
gpt4 key购买 nike

我使用 TokBox api。我想使用信号方法。但是我得到了对成员“ session ”错误的模糊引用。

这是代码:

import UIKit
import OpenTok
import Firebase
import FontAwesome_swift

class CallView: UIViewController {

private var session: OTSession?
private var publisher : CustomPublisher?

override func viewDidLoad() {
super.viewDidLoad()

//connect to the session
connectToAnOpenTokSession()
}

func connectToAnOpenTokSession() {
session = OTSession(apiKey: "xxx", sessionId: "xxx", delegate: self)
var error: OTError?
session?.connect(withToken: "xxx", error: &error)
if error != nil {
print(error!)
}
}
}


extension CallView: OTSessionDelegate {
func sessionDidConnect(_ session: OTSession) {
print("The client connected to the OpenTok session.")

var error: OTError? = nil
defer {
print(error.debugDescription)
}
}

func chat(){
var error: OTError? = nil

try? session!.signal(withType: "chat", string: "bla", connection: nil)
if error != nil {
print("Signal error: \(error)")
}
else {
print("Signal sent: ")
}
}

func sessionDidDisconnect(_ session: OTSession) {
print("The client disconnected from the OpenTok session.")
}

func session(_ session: OTSession, didFailWithError error: OTError) {
print("The client failed to connect to the OpenTok session: \(error).")
}
func session(_ session: OTSession, streamCreated stream: OTStream) {
print("A stream was created in the session.")
}

func session(_ session: OTSession, streamDestroyed stream: OTStream) {
print("A stream was destroyed in the session.")
}
}

extension CallView: OTPublisherDelegate {
func publisher(_ publisher: OTPublisherKit, didFailWithError error: OTError) {
print("The publisher failed: \(error)")
}
}

我有 chat() 方法。但我在这一行得到了对成员错误的模糊引用:

尝试? session!.signal(withType: "chat", 字符串: "bla", connection: nil)

我不知道怎么解决。我已经尝试过 welf.session,因为我认为它超出了范围。

是什么导致了这个问题,我该如何解决?

最佳答案

尝试将 OTError 实例附加到函数的参数。

另外,避免使用强制展开和未处理的错误捕获。

guard let tokSession = session else {
return
}

do {
var error: OTError? = nil
try tokSession.signal(withType: "chat", string: "bla", connection: nil, error: error)

if error != nil {
print("Signal error: \(error)")
} else {
print("Signal sent: ")
}
} catch let error {
print(error.localizedDescription)
}

关于swift - 对分机成员的模糊引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46394349/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com