首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >SWIFT中的指针、指针算法和原始数据?

SWIFT中的指针、指针算法和原始数据?

提问于 2018-01-30 00:49:39
回答 2关注 0查看 208

发现以下工作:

代码语言:txt
复制
class RawData {
    var data: NSData!

    init(rawData: NSData) {
      data = rawData
    }

    func read<T>(byteLocation: Int) -> T {
      let bytes = data.subdataWithRange(NSMakeRange(byteLocation, sizeof(T))).bytes
      return UnsafePointer<T>(bytes).memory
    }

    func example_ReadAnIntAtByteLocation5() -> Int {
      return read(5) as Int
    }
}

在SWIFT有更好的方法吗?

代码语言:txt
复制
@implementation RawDataOffsetPointer

inline void* offsetPointer(void* ptr, int bytes){
    return (char*)ptr + bytes;
}

@end

可以更改read方法

代码语言:txt
复制
func read<T>(byteLocation: Int) -> T {
  let ptr = offsetPointer(data.bytes, CInt(byteLocation))
  return UnsafePointer<T>(ptr).memory
}

回答

和开发者交流更多问题细节吧,去 写回答
相关文章

相似问题

相关问答用户
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档