摘要:
利用NSObject类中的methodForSelector:方法,可以获得一个指向方法实现的指针,并可以使用该指针直接调用方法实现,当一个消息要被发送给某个对象很多次的时候,可以直接使用methodForSelector:来进行优化,其中,methodForSelector:是由Cocoa Runtime System提供的,而不是Objective-C本身的语言特性。这里需要注意转换过程中函数类型的正确性,包括返回值和参数,而且这里的前两个参数需要显示声明为id和SEL。type voidsetterFuncvoid (*setter)(id, SEL, BOOL);/////////// 阅读全文
摘要:
struct timeval {time_t tv_sec; /* seconds */suseconds_t tv_usec; /* microseconds */};millisecond 毫秒microsecond 微秒timeval表示一个时间点,比如:timeval.tv_sec = 1 (s)timevat.tv_usec = 500 000 (μs) 阅读全文
摘要:
Where is pngcrush for Xcode 4.3?Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/binpngcrush的使用pngcrush -d decresults -revert-iphone-optimizations *.png(-d是输出文件夹的名称)批量将png图片转换成crushpng图片的命令为:/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/pngcrush -d decre 阅读全文
摘要:
在使用中发现前者比后者的速度要快出很多, 测试了一下,前者所花费的时间是后者的的1/4左右。 阅读全文
摘要:
这种问题都是数据文件 不存在 || 格式不正确 || 表错误 等,都属于数据完整性的问题。 阅读全文
摘要:
如何判定一个点P是否存在于指定的三角形ABC内,这肯定是一个简单的问题,本文仅用一个图形界面程序展示了该问题,有兴趣的朋友可以看看。(2008.07.24最后更新)在此处使用一种常见且简便的方法:如果三角形PAB,PAC和PBC的面积之和与三角形ABC的面积相等,即可判定点P在三角形ABC内(包括在三条边上)。:) 阅读全文
摘要:
Error launching remote program:No such file or directory (/private/var/mobile/Applications/3E6A33F8-52EE-4A0B-AB9F-A122B7C42045/Test.app/Test)Here:First try restarting Xcode. If it doesn't work, then try hard reset of your device. This happens to me when I change the bundle identifier of my app. 阅读全文
摘要:
调度技巧一:程序在崩溃的时候,xcode经常没有给出准确的堆栈信息,而是定位在了main方法里,这个让人很是头疼,又怀念起了vs, 其实xcode只要装简单设置一下,就能准确给出堆栈信息了, 打开xcode左边的Breakpoint Navigator ,点击下面的+号添加一个Exception Breakpoint,可以选择 All, 然后再运行试试,Crash后,就会在在抛出异常的时候停下来了,吼吼。调度技巧二:另一种Crash,EXC_BAD_ACCESS ,这个比较头疼,因为Crash的时候,可能是比较早之前的某个变量释放了,现在访问时出问题。Console里也没显示什么日志。开Sch 阅读全文
摘要:
//在图片边缘添加一个像素的透明区域,去图片锯齿 CGRect imageRrect = CGRectMake(0, 0,imageView.frame.size.width, imageView.frame.size.height); UIGraphicsBeginImageContext(imageRrect.size); [imageView.imagedrawInRect:CGRectMake(1,1,imageView.frame.size.width-2,imageView.frame.size.height-2)]; imageView.image = UIGraphi... 阅读全文
摘要:
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ // in thread dispatch_async(dispatch_get_main_queue(), ^{ // main thread }); }); 阅读全文