Ios 了解一些新的浏览器,我设法开始工作

Ios 了解一些新的浏览器,我设法开始工作,ios,swift,Ios,Swift,iOS 13,Swift 5 我设法实现了一个NWBrowser,但我不明白它是如何工作的 var browser: NWBrowser! func seek(typeOf: String) { let bonjourTCP = NWBrowser.Descriptor.bonjour(type: typeOf , domain: nil) let bonjourParms = NWParameters.init() browser = NWBrowser(for: bonj

iOS 13,Swift 5

我设法实现了一个
NWBrowser
,但我不明白它是如何工作的

var browser: NWBrowser!

func seek(typeOf: String) {
   let bonjourTCP = NWBrowser.Descriptor.bonjour(type: typeOf , domain: nil)
   let bonjourParms = NWParameters.init()
   browser = NWBrowser(for: bonjourTCP, using: bonjourParms)
   browser.browseResultsChangedHandler = { ( results, changes ) in
      for result in results {
         print("result ", result )
         if case .service(let service) = result.endpoint {
            print("bonjourA ",service.name)
         }
      }
   }

   browser.start(queue: DispatchQueue.main)
}
现在打印出来的结果是这样的

result Result(nw: iPhone\0328._domino._tcp.local.@[lo0, en0], endpoint: iPhone 8._domino._tcplocal., interfaces: [lo0, en0], metadata: <none>)

这会打印出“iPhone8”?但是,它是如何发现这段代码的?

到底是什么让您感到困惑?您创建了一个
NWBrowser
,并要求它查找您的iPhone所连接的网络上提供的附近的Bonjour服务。它在网络接口
lo0
(环回接口)和
en0
(可能是WiFi接口)上找到了你的
iPhone
。你在问这个语法是如何工作的:
if case.service(let service)=
?我相信这叫做枚举模式匹配。我对结果的处理感到困惑。如果是这种情况,服务(let service)=结果.端点。。那是什么意思?换句话说,如果我只是想弄明白。。。我只是不明白我猜的语法?如果case XOK,那么服务到哪里去了呢?@LanceSamaria看一看,到底是什么让你困惑?您创建了一个
NWBrowser
,并要求它查找您的iPhone所连接的网络上提供的附近的Bonjour服务。它在网络接口
lo0
(环回接口)和
en0
(可能是WiFi接口)上找到了你的
iPhone
。你在问这个语法是如何工作的:
if case.service(let service)=
?我相信这叫做枚举模式匹配。我对结果的处理感到困惑。如果是这种情况,服务(let service)=结果.端点。。那是什么意思?换句话说,如果我只是想弄明白。。。我只是不明白我猜的语法?如果case XOK,那么服务到哪里去了呢?@LanceSamaria看一看,
if case .service(let service) = result.endpoint {
     print("bonjourA ",service.name)
}