最近在完成一个ios上的svg解析程序,遇到了需要对不同的字符串调用不同处理函数这样的需求。
如果用if(){}else{} 的反复调用,非常不利于程序的逻辑扩展,所以还是想起了老方法,定义一个相当于map功能的结构体数组, 每个字符串对应一个处理函数,通过查找数组调用相关处理函数来完成需求,简单明了。
由于Objective-C是兼容C的,所以在ios 上完成此功能也很简单,代码如下:
a.h:
(注意我并没有把结构体和函数定义到接口中)
typedefvoid (* funActionString)(NSString *,CGContextRef);
typedefstruct _functionString{
char *fu