类型编码表作用:目前自己用到的就是将基础类型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-)