2016-04-22 17 views
0

私はNetworkExtension Frameworkを使用しています(適切な資格があり、すべて正常に動作します)。 しかし、私はプロパティにアクセスしようとしていますが、developer.apple.comのドキュメントから直接的な手段を発見しませんでした。プロパティはリストされていますが、アクセスする手段はありません。 1. SSID(NSStringの) 2. BSSID(NSStringの) 3.信号強度(ダブル)NSArrayからNSMutableArray to NSString

私が直接これらのプロパティにアクセスするという点では何も表示されませんでしたので、私は、サポートされているインタフェースの配列を取得することを決めました。 私の場合、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>" 

)この結果を得る

私はこれを記録することができるよ、とラベル/テキストビューに設定。しかし、私はobjectFromIndexでSSID.text(ラベル)と言うことができますので、ObjectAtIndexプロパティを使用したいと思います。

NSArrayをMutableArrayに変換してからNSStringに変換する方法は数多くありましたが、どこにもいられませんでした。どんな考え、考え?

+0

A NSMutableArrayのは、単ににNSArrayの*可変*(修正)バージョンです。あなたが本当にやりたいことは、あなたの配列内のエントリの1つからフィールドを解析することですか? –

+0

かなり上にスポットがあります。私はNSArrayをNSMutableArrayに変換しました: 'NSMutableArray * mutableCopy = [NSMutableArray arrayWithArray:networkInterfaces];' –

+0

@NathanDenlingerはあなたの質問には直接関係しませんが、将来的には 'NSObject' 'NSMutableArray * mutableCopy = [networkInterfaces mutableCopy]'を使って 'NSMutableCopying'プロトコルを実装しています。逆に、 '[mutableCopy copy]'を使用して、可変コピーを不変のものに変換することができます。 – fullofsquirrels

答えて

2

可変配列を作成する必要はありません。 [NEHotspotHelper supportedNetworkInterfaces]は、NEHotspotNetworkオブジェクトの配列を返します。そのクラスには、SSID,BSSID、およびsignalStrengthというプロパティがあります。

NSArray *networkInterfaces = [NEHotspotHelper supportedNetworkInterfaces]; 
NEHotspotNetwork *firstNetwork = [networkInterfaces firstObject]; 
NSString *ssid = firstNetwork.SSID; 
NSString *bssid = firstNetwork.BSSID; 
double signalStrength = firstNetwork.signalStrength; 
+0

うわー、私はこれについて信じられないほど馬鹿だと感じます。さて、私の間違いを指摘してくれてありがとう。私はあなたがここに入力したことを非常に感謝します。私はこれを必要以上にずっと複雑にしていました。 –