私は現在、ビーコン(Estimote、重要な場合)を使ってiOSアプリケーションを開発中です。ループイン関数宣言の場合
私はEstimote SDKをコード例とともにダウンロードし、必要に応じて修正しましたが、変更する方法が見つからないデバイスのハードコードがあります。私は私ができるどのように思ったんだけど
struct BeaconsStruct {
static var uuidT: [String] = []
static var minorT: [String] = []
static var majorT: [String] = []
}
:
self.proximityContentManager = ProximityContentManager(
beaconIDs: [
BeaconID(UUIDString: "B9407F30-F5F8-466E-AFF9-25556B57FE6D", major: 12461, minor: 34159),
BeaconID(UUIDString: "B9407F30-F5F8-466E-AFF9-25556B57FE6D", major: 37813, minor: 3),
BeaconID(UUIDString: "B9407F30-F5F8-466E-AFF9-25556B57FE6D", major: 33562, minor: 37486),
BeaconID(UUIDString: "B9407F30-F5F8-466E-AFF9-25556B57FE6D", major: 5913, minor: 4),
],
beaconContentFactory: CachingContentFactory(beaconContentFactory: BeaconDetailsCloudFactory()))
私の問題は、私は私がビーコンデータを保存する構造体の3つの配列を有することである。
は、次のfuncはBeaconID追加し、明確にするために、私の配列からビーコンリストをロードする変数としてBeaconID関数とUUID、major、minorを設定してループを実行し、コード内で直接ハードコードしないでください。私のアプリの一部がJSONからBeaconのリストを取得し、これを上の構造体に入れるため、これは重要です。
'[BeaconID]'リスト自体を保存してそれを渡すだけではどうですか?なぜあなたは追加の配列セットが必要ですか? let beacons = [BeaconID(UUIDString:...)、BeaconID(UUIDString:...)...] 'あなたが助けることができるなら、3つの並列配列を決して格納しないでください。構造体の単一の配列を格納します。あなたは間違いなくマイナー/メジャー番号をストリングとして保存すべきではありません。 BeaconsStructを作成した理由(またはどこから取得したのか)は明らかではありません。 –