【发布时间】:2016-04-22 18:46:54
【问题描述】:
我正在使用 NetworkExtension 框架(我确实拥有适当的权利,并且一切正常)。 但是,我正在尝试访问这些属性,并没有通过 developer.apple.com 上的文档发现任何直接的方法。列出了属性,但无法访问它们。 1.SSID(NSString) 2. BSSID(NSString) 3. 信号强度(双倍)
在直接访问这些属性方面我没有看到任何东西,所以我决定获取一系列受支持的接口。 就我而言,我正在使用带有 NSArray 支持的接口的 Objective-C。
我获得了支持的接口数组(当前是第一个)。这是我用来获取该数组的代码。
NSArray *networkInterfaces = [NEHotspotHelper supportedNetworkInterfaces];
我得到了这个结果(我稍微改变了结果以隐藏敏感信息:
2016-04-22 14:37:42.263 FlightPath[589:184926] (
"<CNNetwork SSID WiFiNetwork BSSID 00:a0:00:0a:00:0a [protected] [signal 0.884383] [Auto-Join] 0x12f655170>"
)
我可以记录下来,并将其设置为标签/文本视图。但是,我想使用 ObjectAtIndex 属性,这样我就可以使用 objectFromIndex 填充一个 SSID.text(标签)。
我尝试了多种方法将 NSArray 转换为 MutableArray,然后再转换为 NSString,但无处可去。有什么想法和想法吗?
【问题讨论】:
-
A NSMutableArray 只是 NSArray 的 mutable(可修改)版本。听起来您真正想做的是从数组中的一个条目中解析一个字段?
-
相当到位。我确实使用:
NSMutableArray *mutableCopy = [NSMutableArray arrayWithArray:networkInterfaces];将 NSArray 转换为 NSMutableArray -
@NathanDenlinger 与您的问题没有直接关系,但为了将来参考,您还可以使用
NSMutableArray *mutableCopy = [networkInterfaces mutableCopy]创建实现NSMutableCopying协议的任何NSObject的可变副本。相反,您可以使用[mutableCopy copy]将可变副本转换回不可变副本 -
@fullofsquirrels 非常感谢!下次我一定会使用这种方法!对我可以用代码做什么有一个广泛的认识总是好的。
标签: ios objective-c nsstring