美文网首页
类型编码 @encode

类型编码 @encode

作者: fordring2008 | 来源:发表于2017-02-05 12:26 被阅读66次

// 类型编码

// @encode

/*

char *typeChar1 = @encode(int32_t);

char *typeChar2 = @encode(NSArray);

NSLog(@"%s, %s", typeChar1, typeChar2);

// i, {NSArray=#}

*/

// 这个类型编码 @encode 最常用的地方是在传递参数时,由于类型确实,需要类型编码进行辅助以保证类型信息也能够被传递

//  NSValue 的属性  .objCType 获取类型指针

let int: Int = 0

let float: Float = 0.0

let double: Double = 0.0

let initNumber: NSNumber = int as NSNumber

let floatNumber: NSNumber = float as NSNumber

let doubleNumber: NSNumber = double as NSNumber

let str1 = String(validatingUTF8: initNumber.objCType)      // q

let str2 = String(validatingUTF8: floatNumber.objCType)    // f

let str3 = String(validatingUTF8: doubleNumber.objCType)    // d

let p = NSValue(cgPoint: CGPoint(x: 3, y: 3))

let pStr = String(validatingUTF8: p.objCType)      // {CGPoint=dd}

let t = NSValue(cgAffineTransform:.identity)

let tStr = String(validatingUTF8: t.objCType)// {CGAffineTransform=dddddd}

// 有了这些细心,我们就能够在这类信息可能损害的时候构建起准确的类型转换和还原

// 比如,想要在 NSUserDefaults中存储一些不同类型的数字,然后读取的时候再准确的还原为之前的类型,就可以使用类簇来获取这些数字转化为 NSNumber 后真真的类型,然后存储。 使用 objcType 获取类型,然后将数字本身和类型的字符串一起存储。在读取的时 就可以通过匹配类型字符串和类型的编码,确定数字本来所属的类型,从而直接得到想 Int 或者 Double这样的类型明确的量

相关文章

  • 类型编码 @encode

    // 类型编码 // @encode /* char *typeChar1 = @encode(int32_t);...

  • Python编码处理

    encode和decode   encode是从特定编码形式转换为Byte类型,decode是从Byte类型转换为...

  • [Swift Tips 读书笔记]从 Objective-C 到

    输出格式化 Options 数组 enumerate 类型编码 @encode C 代码调⽤和 @asmname ...

  • 类型编码

    OC类型编码,个字符的含义 当给定一个类型规范时,@encode()返回一个该编码类型的字符串,如下: OC对象类...

  • Type Encodings

    @encode,@编译器指令 之一,返回一个给定类型编码为一种内部表示的字符串(例如,@encode(int) →...

  • json_encode()

    json_encode 对变量进行JSON编码,该方法可以对出了resource类型的意外的所有类型进行json编...

  • Data structure & Algorithm:

    字符串:字符类型的数组 字符串编码:str-encode-bytesbytes-decode-str# -- co...

  • python3 解码问题

    decode:编码 encode:解码

  • @encode指令(Objective-C Type Encod

    iOS中提供了一个叫做@encode的指令,可以将具体的类型表示成字符串编码。@encode实际上是编译器指令其中...

  • Python基础知识点总结

    常用数据类型 整数、浮点数、字符串、布尔值、空值、 字符串编码 默认使用unicode编码,通过encode转换成...

网友评论

      本文标题:类型编码 @encode

      本文链接:https://www.haomeiwen.com/subject/wwyjittx.html