Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Swift 为什么我不能在同一个函数中调用searchForBrowsableDomains和searchForServicesOfType?_Swift_Nsnetservicebrowser - Fatal编程技术网

Swift 为什么我不能在同一个函数中调用searchForBrowsableDomains和searchForServicesOfType?

Swift 为什么我不能在同一个函数中调用searchForBrowsableDomains和searchForServicesOfType?,swift,nsnetservicebrowser,Swift,Nsnetservicebrowser,我认为Runloop的使用可能有问题。我不确定是否与以下问题有关: 这是我的密码: import Foundation class Discover: NSObject, NSNetServiceBrowserDelegate { var browser:NSNetServiceBrowser; var done:Bool = false; init() { browser = NSNetServiceBrowser(); supe

我认为Runloop的使用可能有问题。我不确定是否与以下问题有关:

这是我的密码:

import Foundation



class Discover: NSObject, NSNetServiceBrowserDelegate {
    var browser:NSNetServiceBrowser;
    var done:Bool = false;

    init() {
        browser = NSNetServiceBrowser();
        super.init();
        browser.delegate = self;
    };

    func netServiceBrowser(aNetServiceBrowser: NSNetServiceBrowser!, didFindDomain domainString: String!, moreComing: Bool) {
        println("Find domain \(domainString)");
    }

    func netServiceBrowser(aNetServiceBrowser: NSNetServiceBrowser!, didFindService aNetService: NSNetService!, moreComing: Bool) {
       // println(aNetService);
        println("Find servcie \(aNetService)");
    }

    func discover () {
        browser.searchForBrowsableDomains()
        browser.searchForServicesOfType("_http._tcp", inDomain: "local"); 
    }
}


let d = Discover();
d.discover();

let runloop = NSRunLoop.currentRunLoop();
runloop.run();

println("Done");
我发现,在
discover
函数中,如果调用searchForBrowsableDomains或searchForServicesOfType,我可以在委托函数中获得结果

但是,如果我一个接一个地调用,则永远不会调用委托函数


为什么会出现这种情况?

您需要在委托回调可选func netServiceBrowser(浏览器:NSNetServiceBrowser,DidFindDomainString:String,moreComing:Bool)中调用browser.searchForServicesOfType(“http.\u tcp”,inDomain:domainString)