パフォーマンスを向上させるために、固定サイズのNSDataオブジェクトを作成したいと考えています。スウィフト遊び場で固定サイズのNSData()オブジェクトの宣言
var data = NSData(bytes: [], length: 18)
私が見た結果
<a074740f 01000000 00bf740f 01000000 babc>
それは正しいですか?彼らはすべて0でなければならない?
また、固定サイズのNSDataオブジェクトをインスタンシエートすることは、それほど長くなると思いますか?
それが使われている各時間後、私は、このオブジェクト「空」に必要なことを言って価値がある、私はそれをaccoplishするための最良の方法は、ちょうど
self.data = NSData()
私は何を使用する場合は、新しいオブジェクトを割り当てることであることを読んでここでは固定長のコードの最初のスニペットですか?私は固定サイズで空のNSDataのではなく、これらのランダムな値を取得します
EDIT:
を、私はそれらを同期させるために、BLEからデータを読み取る:
は、私が実際に達成しようとしていますかについての詳細を提供するために、私は、現在の値のフォーム変数を読み取り、その変数値を後でクリアするタイマーを使用します。
まず第一に、私はそれが全体の性能に磨きをかけるだろうと仮定しているため、私は、固定サイズのNSDataの変数を宣言したいと思います
第二に、私は
を使用した後の変数値をクリアしたいのですがこれは私がNSDataのように値を格納し、
class DataSynchronizer
{
var timer:NSTimer
var tag1:NSData = NSData()
var tag2:NSData = NSData()
var gpsData:CLLocation?
var timeInterval:Double
init(frequency:Double)
{
self.timer = NSTimer()
self.timeInterval = 1/frequency
}
func scheduledTimerWithTimeInterval(){
// Scheduling timer to Call the function **Countdown** with the interval of 1 seconds
self.timer = NSTimer.scheduledTimerWithTimeInterval(self.timeInterval, target: self, selector: #selector(DataSynchronizer.syncValues), userInfo: nil, repeats: true)
}
func stopTimer()
{
self.timer.invalidate()
}
@objc func syncValues()
{
print(self.tag1)
self.tag1 = NSData()
print(self.tag2)
self.tag2 = NSData()
print("\n")
}
}
TAG1とTAG2値はBLE
を扱う別のクラスから変更されている別のクラスに渡すデフォルトでは、私は彼らがコンソールに印刷を参照して文字列でそれを行う方法ですfunc peripheral(peripheral: CBPeripheral, didUpdateValueForCharacteristic characteristic: CBCharacteristic, error: NSError?) {
if self.updateStarted == false{
self.updateStarted = true
}
let firstTagIdentifier = self.tagsIds[0]
if "\(peripheral.identifier)" == firstTagIdentifier
{
self.peripheralCounter = self.peripheralCounter + 1
let date = NSDate()
if characteristic.value?.length == 18
{
synchronizer.tag1 = characteristic.value! //synchronizer is a DataSynchronizer instance
}
NSData(bytes:[]、length:18)は未定義の動作で、空の配列から18バイトを読み込みます。データがどのように満たされ使用されているかについてより多くの情報を提供すれば、「良い実践」に関するより良い回答が可能です。 –
私の編集をチェックしてください、これが助けてくれるといいですか? – DCDC
BLEからの読書はあなたに(新)NSDataオブジェクトを与えませんか?事前割り当ては意味をなさないでしょう。 –