这次我从茫茫码海里将visit给拉了出来。这货有啥用呢?呵呵,用法从一个故事说起吧:
假设你暗恋一个女神(就叫奶茶MM吧~),追求的第一步肯定要先知道她的一些资料,如姓名,年龄,身高,三围...等等。但羞涩的你不知从何下手,这时博主脚踏七彩祥云从天而降!
博主说:奶茶MM最全的第一手资料就在一个dic字典里,想知道就自己去取吧。
你很高兴,激动的说:dic在哪里啊?
博主一愣,dic...(shlt,dic还没编,赶紧生一个出来)
- Dictionary* dic = Dictionary::create();//创建一个字典
- dic->setObject(String::create("NaiChaMM"),"name");//在字典中加入姓名,年龄,身高三个key
- dic->setObject(Integer::create(20),"age");
- dic->setObject(Integer::create(162),"height");
博主深感不好意思,说道:你可以用visit查看dic里的东东,方法如下:
- PrettyPrinter visiter;//创建一个visit
- dic->acceptVisitor(visiter);//通过visit获取dic中的资料,并整理成一条字符串。
- CCLOG("%s",visiter.getResult().c_str());//通过getResult()获取visit上一步整理好的字符串,打印出来
你用博主的方法兴奋的打开了字典dic,并查看了里面的资料,
恩,姓名是奶茶妹妹没有错;身高162,唔,不是很高,但是你的菜;芳龄20,真是年轻啊;三围是......我++,说好的三围呢!
感觉被骗的你愤怒的对博主吼道:你这资料怎么没有三...不对,没有奶茶妹妹的QQ啊!!!(还好够机灵,不能让博主看出自己色狼的本质,你在心里暗自庆幸)。博主其实也很无奈,说道:如果有奶茶妹妹的QQ,博主会在这里写博客么?这样吧,怎么说我也是有身份的人,不能让你失望。我这里有个array,里面有很多女神的资料。现在都给你把,打开方式是***。说完博主赶紧敲下代码:
- auto array = Array::create();
- auto dic_NaiChaMM = Dictionary::create();//创建字典,并输入相应的资料
- auto dic_KeLeMM = Dictionary::create();
- auto dic_KaFeiMM = Dictionary::create();
- ...
- array->addObject(dic_NaiChaMM);//将字典放入array中
- array->addObject(dic_KeLeMM);
- array->addObject(dic_KaFeiMM);
- //查看方式
- PrettyPrinter visiter;//用法与字典的一样一样的
- array1->acceptVisitor(visiter);
- CCLOG("%s",visiter.getResult().c_str());