私は次のクラスを持っています:
class RawDataArray {
var data: NSData!
init(filePath: String) {
data = NSData(contentsOfFile: filePath)
}
func read<T>(offset: Int) -> T {
return UnsafePointer<T>(data.bytes + offset).memory
}
}
カスタム形式のバイナリ ファイルから読み取るために iOS アプリで使用します。たとえば、Int
オフセット 5 を読み取るには、次を使用します。
let foo = rawData.read(5) as Int
これは私の iPad Air のシミュレーターで動作し、ベータ テストのレビューに合格しました。しかし、私の外部テスターは iPad 2 および 4 を使用しており、EXC_ARM_DA_ALIGN
エラーが発生しています。
入力ファイルの構造を変更できません。read
オブジェクトが適切に配置されたメモリ位置から構築されるように関数を修正する方法はありますか?