gpt4 book ai didi

ios - NetServiceBrowser 在删除时提供不同的 NetService

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:24:06 25 4
gpt4 key购买 nike

我希望做这样的事情:

netServiceBrowser:didFindService:moreComing:

[self.foundServices addObject:aNetService];

并且在 netServiceBrowser:didRemoveService:moreComing:

[self.foundServices removeObject:aNetService];

但是,返回的服务不会被 NetServiceBrowser 保留,因此 didRemoveService 中给出的服务与数组中的服务不是同一个对象。如何比较服务以确保我删除的服务是正确的?

最佳答案

您对此想得太多了,并在脑海中制造了一个不存在的问题。在传递给 didRemoveService: 的对象上使用 removeObject:removeObject: 根据对象对 isEqual: 的响应进行删除,而不是对象的地址或标识。所以这会起作用。

答案真的很简单:

[self.foundServices removeObject:aNetService];

Apple 对 removeObject 的描述: 解释了这一点:

This method uses indexOfObject: to locate matches and then removes them by using removeObjectAtIndex:. Thus, matches are determined on the basis of an object’s response to the isEqual: message.

(为了完整起见,Apple 确实提供了一个通过地址删除对象的函数。这就是 removeObjectIdenticalTo:。但是,这不是您想要的行为。只需使用 removeObject:.)

引用资料:

关于ios - NetServiceBrowser 在删除时提供不同的 NetService,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8470802/

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