博客园  :: 首页  :: 新随笔  :: 订阅 订阅  :: 管理

04 2012 档案

摘要:1、当您使用多个 MFC dll 报告内存泄漏2、华军软件园的新广告模式,利用验证码转入广告 阅读全文

posted @ 2012-04-29 18:20 扬名 阅读(155) 评论(0) 推荐(0)

摘要:void vltest(int i, float k, ...){ va_list vl; //定义va_list变量vl,该变量是指向参数的指针 va_start(vl, k); // 参数一:va_list变量vl;参数二:va_list变量vl中最后一个固定参数 int j = va_arg(vl, int); // 参数一:va_list变量vl;参数二:可变参数的类型,返回值j即可变参数 double m = va_arg(vl, double); // 同上 unsigned long n = va_arg(vl, unsigned long); //... 阅读全文

posted @ 2012-04-29 18:04 扬名 阅读(8746) 评论(1) 推荐(1)

摘要:1 + (ccColor3B)colorWithHexString: (NSString *) stringToConvert 2 { 3 //去掉前后空格换行符 4 NSString *cString = [[stringToConvert stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]] uppercaseString]; 5 6 if ([cString length] < 6) 7 return ccWHITE; 8... 阅读全文

posted @ 2012-04-25 14:57 扬名 阅读(1966) 评论(0) 推荐(1)

摘要:http://www.cocoachina.com/bbs/read.php?tid=31300使用NSStream来实现Socket 阅读全文

posted @ 2012-04-25 14:01 扬名 阅读(539) 评论(0) 推荐(0)

摘要:转载自:http://tech.it168.com/a2009/1229/830/000000830741.shtml使用网络通信流 使用套接字在网络上通信最简单的方法是使用NSStream类,NSStream类是一个表示流的抽象类,你可以使用它读写数据,它可以用在内存、文件或网络上。使用NSStream类,你可以向服务器写数据,也可以从服务器读取数据。 在Mac OS X上,可以使用NSHost和NSStream对象建立到服务器的连接,如:1 NSInputStream *iStream; 2 NSOutputStream *oStream; 3 ... 阅读全文

posted @ 2012-04-25 13:58 扬名 阅读(1404) 评论(0) 推荐(1)

摘要:转载自http://unmi.cc/nsnotificationcenter-usage,作者“隔叶黄莺”通常我们在iOS中发生什么事件时该做什么是由Delegate实现的,例如View加载完后会触发viewDidLoad。Apple 还为我们提供了另一种通知响应方式,那就是NSNotification,系统中(UIKeyboardDidShowNotification等) 以及某些第三方组件(例如ASIHTTPRequest的 kReachabilityChangedNotification等)。NSNotificationCenter较之于Delegate可以实现更大的跨度的通信机制,可以 阅读全文

posted @ 2012-04-25 13:45 扬名 阅读(9413) 评论(0) 推荐(0)

摘要:转载自http://hi.baidu.com/popln/blog/item/e6ed14884b2fa4a60f2444d1.html 在当前的run循环中通过异步查询UIDevice当前的标志和网络状态,对网络连接状态进行监视。当连接状态变化时,观察者(observer)会以回调函数的形式接收到通知,从而做出相应的处理。#import <SystemConfiguration/SystemConfiguration.h>#include <netdb.h>#import <dlfcn.h>#import "UIDevice-Reachabili 阅读全文

posted @ 2012-04-25 13:41 扬名 阅读(3117) 评论(0) 推荐(0)

摘要:应用程序的委托(官方资料) 监控应用程序的高级行为是应用程序委托对象的责任,而应用程序委托对象是您提供的定制类实例。委托是一种避免对复杂的UIKit对象(比如缺省的UIApplication对象)进行子类化的机制。在这种机制下,您可以不进行子类化和方法重载,而是将自己的定制代码放到委托对象中,从而避免对复杂对象进行修改。当您感兴趣的事件发生时,复杂对象会将消息发送给您定制的委托对象。您可以通过这种“挂钩”执行自己的定制代码,实现需要的行为。 应用程序的委托对象负责处理几个关键的系统消息。每个iPhone应用程序都必须有应用程序委托对象,它可以是您希望的任何类的实例,但需要遵循UIAppli.. 阅读全文

posted @ 2012-04-24 21:22 扬名 阅读(3606) 评论(1) 推荐(0)

摘要:第二个iPhone应用程序:“Say Hello” 阅读全文

posted @ 2012-04-24 14:15 扬名 阅读(204) 评论(0) 推荐(0)

摘要:1.当触摸被取消(比如触摸过程中被来电打断),就会调用touchesCancelled:withEvent方法。 2.检测tapCount可以放在touchesBegan也可以touchesEnded,不过一般后者跟准确,因为touchesEnded可以保证所有的手指都已经离开屏幕,这样就不会把轻击动作和按下拖动等动作混淆。 3.轻击操作很容易引起歧义,比如当用户点了一次之后,并不知道用户是想单击还是只是双击的一部分,或者点了两次之后并不知道用户是想双击还是继续点击。为了解决这个问题,一般可以使用“延迟调用”函数。-(void)touchesEnded:(NSSet *)touches... 阅读全文

posted @ 2012-04-24 13:21 扬名 阅读(862) 评论(0) 推荐(0)

摘要:原文作者Andrew Huang<bluedrum@163.com> 转载请注明作者 @selector()基本可以等同C语言的中函数指针,只不过C语言中,可以把函数名直接赋给一个函数指针,而Object-C的类不能直接应用函数指针,这样只能做一个@selector语法来取. 它的结果是一个SEL类型。这个类型本质是类方法的编号(函数地址)?因此我们有如下代码。一.取得selector值.C函数指针int add(int val) { return val+1; } int (* c_func)(int val); //定义一个函数指针变量 c_func = add ;//把函数a 阅读全文

posted @ 2012-04-24 12:58 扬名 阅读(359) 评论(0) 推荐(0)

摘要:应用场景:开发Cocos2d游戏时与NPC的对话等分析:对于一个(CCLabelTTF*) label,如果能生成一个包含换行符\r\n的NSString字符串strTemp,利用substringToIndex就可以生成各种从起始位置开始的子串,再配合一个定时器定时去更新substringToIndex的参数Index,接着[label setString];就可显示打字效果。 阅读全文

posted @ 2012-04-24 11:41 扬名 阅读(2098) 评论(0) 推荐(0)

摘要:作为程序员,首先我们要按照正常流程分析需求之后,在编码阶段首先要枚举所有用户的触发情况(包括合法的,非法的),然后为每个触发情况按照完整逻辑来编写,当然这是在有很好的架构后,划分模块给程序员时要用这些思维,会减少很多在测试时出现的bug。1)了解业务流程还更要了解为什么业务要这样?很多业务流程都是可以简化,优化,甚至不必要。2)需求分析需要考虑哪么是必需的业务功能,哪些是锦上添花的业务功能。3)然后应该是设计,设计一个简单和耦合度低的系统,复杂和头痛的东西通常就是需要简化和推敲的东西。 阅读全文

posted @ 2012-04-24 11:36 扬名 阅读(230) 评论(0) 推荐(0)

摘要:1)srand((unsigned)time(0));int i = rand() % 5;2)srandom(time(0));int i = random() % 5;3)通过arc4random() 获取0到x-1之间的整数://arc4random有两个好处,一个是它的范围比rand()大两倍,另一个是它不需要srand()去生成种子inti=arc4random()%x; 阅读全文

posted @ 2012-04-24 09:30 扬名 阅读(283) 评论(0) 推荐(0)

摘要:摘自iPhone - UIAlertView 的使用方法 UIAlertView這個元件並不常用,如果將UIAlertView用作顯示普通訊息,這不是一個好的介面設計,因為彈出來的訊息是非常引人注意的,就好像Javascript的alert一樣,彈出來後整個視窗也不能操作,一定要用戶按下 “OK” 才能繼續操作,我相信各位也不喜歡到經常彈出alert box的網站吧,在iPhone也是同樣道理。 那何時才使用UIAlertView? 應該是有某些訊息無論如何也要用戶去知道,不是那些無關緊要的事,有可能是你的應用程式發生一些問題,令操作不能繼續的訊息。例如你的應用程式必須依賴網路來拿取資料,.. 阅读全文

posted @ 2012-04-23 14:33 扬名 阅读(157) 评论(0) 推荐(0)

摘要:数据输出格式化规定符:%d 格式化为十进制有符号整数输出到缓冲区%u 格式化为十进制无符号整数输出到缓冲区%f 格式化为浮点数输出到缓冲区%s 格式化为字符串输出到缓冲区%c 格式化为单个字符输出到缓冲区%e 格式化为指数形式的浮点数输出到缓冲区%x 格式化为无符号以十六进制表示的整数(a-f小写输出)输出到缓冲区%X 格式化为无符号以十六进制表示的整数(a-f大写输出)输出到缓冲区%0 格式化为无符号以八进制表示的整数输出到缓冲区%g 格式化为自动选择合适的表示法输出到缓冲区%02x 格式化为无符号以十六进制表示的整数(a-f小写输出)输出到缓冲区,不足两位补足两位说明:1.可以在" 阅读全文

posted @ 2012-04-23 13:55 扬名 阅读(1667) 评论(0) 推荐(0)

摘要:objc’s self and super父类进行初始化时,用的是子类对象指针self,父类的init方法有可能对这个指针指向的内存区作了大的变更(有可能把这个指针所指的内存释放了,重新分配了另一块内存区域返回来,这时这个返回的指针与原来的指针是指向不同地址的),所以父类初始化后要重新返回指针。父类返回的和子类的self的类型都为id类型(通用类型)。父类的init方法若返回的指针与self不一样,在父类的init方法中已作了release和新的内存分配,不需要自己再去release sef,直接用父类init方法返回的指针就可以了。 阅读全文

posted @ 2012-04-23 12:52 扬名 阅读(287) 评论(0) 推荐(0)

摘要:如果要对一个类进行扩展,通常的办法就是继承和组合。 Objective-C提供了另一个选择,引入了category机制,它允许程序员为已有的对象添加新的方法,即便是在没有该对象的源代码的情况下。其优点是利用这个机制,程序员可以把一堆方法分门别类,分成若干组,每组方法用一个Category名字加以命名,定义在同一个文件里。这也是为什么把这个机制叫做Category的原因。 比如需要为NSString类添加一个新的方法,继承的方式就不太可取,原因在于NSString是个class cluster,一个类簇。什么是一个类簇?简单的来说,NSString是个“工厂类”,然后它在外层提供了很多方... 阅读全文

posted @ 2012-04-23 12:51 扬名 阅读(570) 评论(0) 推荐(0)

摘要:打开终端,复制粘贴如下内容,运行解决:export PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/binMac下关闭终端时系统默认此命令是不生效的,因此每次重启后会发现还是老样子。这可以通过修改环境变量定义文件来修改环境变量:$cd #到用户根目录下$ls -a #查看所有文件,包含隐藏的文件$vi .bash_profile #修改环境变量定义文件想要确认是否真的修改了路径:$ echo $PATH #查看当前的搜索路径 阅读全文

posted @ 2012-04-21 17:21 扬名 阅读(1337) 评论(0) 推荐(0)

摘要:问题背景:用Versions管理xCode项目时,点showchanges,报错如下:The File Merge application could not be located.解决方案:打开终端,输入:sudo xcode-select -switch /Applications/Xcode.app 阅读全文

posted @ 2012-04-21 17:21 扬名 阅读(713) 评论(0) 推荐(0)

摘要:1.“流氓美学的胜利”-一个广告的悲哀进化论2.设计的本质是什么?3.挑战无处不在4.Learn Objective-C5.学会阅读源代码 阅读全文

posted @ 2012-04-21 17:20 扬名 阅读(130) 评论(0) 推荐(0)

摘要:1.一两年内,具有哪些特征的产品更可能在未来获得更高的价值?2.你有胆量说:我不和运气差的人合作?3.从优秀的iPhone游戏中学习设计策略4.开发一个iOS应用没有那么容易5.程序员真的很懒Instagram 开发团队奉行的三个核心原则:Keep it very simple (极简主义)Don't re-invent the wheel (不重复发明轮子)Go with proven and solid technologies when you can(能用就用靠谱的技术) 阅读全文

posted @ 2012-04-16 00:18 扬名 阅读(178) 评论(0) 推荐(0)

摘要:step1:点选Command Line Tool--->nextstep2:Type选择Foundation--->nextstep3:选择项目位置后--->Create4.Finish. 阅读全文

posted @ 2012-04-16 00:17 扬名 阅读(1532) 评论(0) 推荐(0)

摘要:1.http://code.google.com/p/cocos2d-iphone/downloads/list下载Cocos2d-iPhone的最新版后解压2. 打开终端(Terminal),进入Cocos2d-iPhone的目录下3. 运行.sh文件,比如:./install-templates.sh注:*.sh文件是一个类似Windows平台上.bat的文件,所谓安装就是将Cocos2d-iPhone预先配置好的工程模板文件拷贝到Xcode(就是苹果开发SDK的名字)规定的工程模板文件目录下,该目录是:“/Developer/Platforms/iPhoneOS.platform/Dev 阅读全文

posted @ 2012-04-16 00:17 扬名 阅读(217) 评论(0) 推荐(0)

摘要:1.调出终端,cd到项目位置,如cd Documents/xxx2.git init3.git add . (千万不要少打.号)4.git commit -m "Initial commit" 阅读全文

posted @ 2012-04-16 00:17 扬名 阅读(1057) 评论(0) 推荐(0)