天天看点

rundown of the Objective-C Type Encodings

类型编码表作用:目前自己用到的就是将基础类型encode之后,及OC类型对象当做参数放入集合类型中;再用到的时候,通过类型判断,解析相应值。如可以用到任意block调用(NSinvocation中同时传递的参数数组)或者其他模型对象解析中。

例子:

@encode(int) → i

类型编码表。

c  A char

i  An int

s  A short

l  A longl is treated as a 32-bit quantity on 64-bit

programs.

q  A long long

C  An unsigned char

I  An unsigned int

S  An unsigned short

L  An unsigned long

Q  An unsigned long long

f  A float

d  A double

B  A C++ bool or a C99 _Bool

v  A void

*  A character string (char *)

@  An object (whether statically typed or typed id)

#  A class object (Class)

:  A method selector (SEL)

[array type]    An array

{name=type...} A structure

(name=type...) A union

bnum A bit field of num bits

^type A pointer to type

? An unknown type (among other things, this code is

used for function pointers)

(摘录自 NSHipster_ Obscure Topics in Cocoa & Objective-)