自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(77)
  • 收藏
  • 关注

原创 理解NSCondition

至于如何使用lock,unlock,signal,wait,以及为什么官方文档建议用[cocoaCondition lock];timeToDoWork++;[cocoaCondition signal];[cocoaCondition unlock];我觉的可以参考下面的链接,毕竟ios也是linux内核,感觉搞不好nscondition就是对posix的pthread_

2012-12-04 15:36:02 1340

原创 CGContextTranslateCTM和CGContextScaleCTM真是个技术活

使用CGContextTranslateCTM和CGContextScaleCTM真不容易,数学不好的哥们头的晕,比如我就是下面的代码是用来类似做网页点击放大的效果,setTouchPoint是通过touchedmove去调用更新touchpoint点,调整放大镜的center的位置,而放大的效果则在下面drawRect里,而核心就在于如何在矩阵中变化,比如平移,旋转,scale缩放

2012-09-06 14:49:50 22288 2

原创 UITableView的删除,移动及修改删除按钮上的文字

其实修改UITableView进行删除操作的时候右边出现的删除按钮上的文字很简单:重写delegate方法:-(NSString*)tableView:(UITableView*)tableView titleForDeleteConfirmationButtonForRowAtIndexPath:(NSIndexPath*)indexpath;如果需要出现UITableView上

2012-08-29 21:15:16 14226

原创 如何通过掩码图创建不规则的显示效果的图片(clip图片)

首先你必须要准备一个原图,和一个准备作为遮罩的掩码图(mask),这里有两点要注意,如果希望通过CGImageCreateWithMask函数去创建一个处理过的不规则的图片的话,那么你需要有一张原图是带alpha通道的图片,和一个不带alpha通道的遮罩图。如何判断是否有alpha通道其实很简单,你在mac里右键显示简介的时候,有显示该图片的信息,其中一行就是显示是否有alpha通道。当然

2012-08-29 17:46:21 6397

原创 创建操作/删除多行数据的UITableView的细节

首先注意需要重写-(UITableViewCellEditingStyle)tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath这里需要注意的是返回的结果应该是return UITableViewCellEditingStyleDelete | UITableVie

2012-08-28 14:34:12 11669 7

原创 关于VC,GCC成员变量的内存对齐和偏移量的问题

VC中是这样定义的注意添加头文件#include /* Define offsetof macro */#ifdef __cplusplus#ifdef _WIN64#define offsetof(s,m) (size_t)( (ptrdiff_t)&reinterpret_cast((((s *)0)->m)) )#else#define offsetof(s,m)

2012-08-15 17:11:33 1883

原创 详细解析IOS中的CGContextAddArcToPoint方法的使用

CGContextAddArc方法较为好理解,都已经制定了原点坐标,半径,始末弧度,顺逆时针等数值了,弧线基本上都已经出来了而对于CGContextAddArcToPoint方法则有点不好理解。研究好一会才明白,特写下来以供后面查询首先当传入参数无法绘制弧线的时候(比如current point和start point还有end point都在一条直线上,那么根本无法绘制出圆弧),那么

2012-08-14 14:04:51 15443 1

转载 注意访问器中的一个小细节,关于有访问器没有成员变量的问题

我们在进行iOS开发时,经常会在类的声明部分看见类似于@synthesize window=_window; 的语句,而你翻看了下头文件并没有发现_window这个变量,那么,这个window是什么,_ window又是什么,两个东西分别怎么用,这是一个比较基本的问题,也关乎我们理解Objective-C中对类、类的属性、类的存取器、类的局部变量的统一理解。在32位系统中,如果类的 @

2012-08-06 17:18:10 938

原创 IOS IPhone开发的tip记录

1:多点触摸不稳定,多于两指触摸时不是很稳定连贯,慎用?2:持久化归档,[NSKeyedArchiver archiveRootObject:obj toFile:DataPath];[NSKeyedUnarchiver unarchiveObjectWithFile:DataPath];他们会分别调用obj对象中的方法:-(id)initWithCoder:(NSCoder*)c

2012-07-20 17:52:31 1185

转载 IOS的app程序中的文件目录的功能和使用详细说明

一些重要的应用目录为了安全的缘故,一个应用只能拥有一些目录,用来写入应用的数据或者首选项参数。当一个应用安装到系统,会创建该应用的home目录。以下列出一些home目录下的主要的子目录:/AppName.app:存放应用程序自身/Documents/:存放用户文档和应用数据文件/Library/:应用程序规范的顶级目录,下面有一些规范定义的的子目录,当然也可以自定义子目

2012-07-20 16:18:53 32994

转载 KVC,KVO的一些原理理解与使用介绍[续]

对kvo/kvc做了简单的介绍,可作为入门读物。有些术语描述不够精确请指正。欢迎讨论。Kvo是Cocoa的一个重要机制,他提供了观察某一属性变化的方法,极大的简化了代码。这种观察-被观察模型适用于这样的情况,比方说根据A(数据类)的某个属性值变化,B(view类)中的某个属性做出相应变化。对于推崇MVC的cocoa而言,kvo应用的地方非常广泛。(这样的机制听起来类似Not

2012-07-20 15:26:15 1982

转载 KVC,KVO的一些原理理解与使用介绍

使用KVC、KVO的优势通过规定了一组通用的Cocoa命名法则、调用规则等,实现了如下功能: ²  使用一对高度规范化的访问方法,获取以及设置任何对象的任何属性的值。²  通过继承一个特定的方法,并且指定希望监视的对象及希望监视的属性名称,就能在该对象的指定属性的值发生改变时,得到一个“通知”(尽管这不是一个真正意 义上的通知),并且得到相关属性的值的变化(原先的值和改变后

2012-07-20 15:10:05 7886

转载 Box2d系列 – 如何在cocos2d-x中激活debug draw

[ZZ]http://www.ipplelife.com/?p=713本文的读者要求是, 熟悉cocos2d-x流程, 熟悉box2d的基本代码。很久没写cocos2dx的东西了,最近比赛接近,做题太郁闷就练习下使用box2d,好歹也发时间看完了官方文档的。。本来很想发时间写一些关于Box2d的基础的,但是我怕我写不好,内容太多太多了。所以,自己学到什么就写什么吧。

2012-07-16 15:38:58 5453 5

原创 The Footprint Of Cocos2d-x [三] ---- cocos2d之基础知识(tips)

tips1:Don’t use __super in C++ to instead super in objc. The keyworkd __super is only recognized by VC++, but can not compiled by GCC. So you had better to call the name of parent class, CCLayer::

2012-07-09 16:56:19 819

原创 The Footprint Of Cocos2d-x [三] ---- cocos2d之基础知识(Accelerometer, action,Menu)

加速计UIAcceleration,菜单menu,动作action加速计启动加速计事件并通过delegate去处理事件self.isAccelerometerEnabled = YES;-(void)accelerometer:(UIAccelerometer*)accelerometer  didAccelerate:(UIAcceleration*)accelerati

2012-07-08 20:18:40 1893

原创 关于如何调用mfc带资源对话框的dll的简单演示

<br />关于如何调用mfc带资源对话框的dll的简单演示<br /> <br />很简单,建立一个mfc的dll,然后导出一个函数,并在导出函数里探出对话框,注意的是需要在导出函数里调用一句话,否则无法调用mfc资源对话框,就是这句话:<br />AFX_MANAGE_STATE(AfxGetStaticModuleState());<br /> <br />具体项目工程代码见下方代码了(我改成jpg上传了,下载后改成zip后缀即可)<br /> <br />

2010-11-16 12:03:00 1451 2

原创 个人保存

mutable   mutable 可以用来指出,即使结构或者类变量为const,其某个成员也可以被修改   例如   struct data   {   char name[30];   mutable int accesses;   ....   };   const data veep = {"david";,0,}   strcpy(veep.name,"Jimmy");// not allowed   veep.accesses++; // allowed   veep 的const限定符禁止程序

2010-09-03 18:51:00 669

原创 普通函数的汇编分析

<br />函数很简单<br />int sum(int x,int y){<br />return x+y;<br />}<br />int _tmain(int argc, _TCHAR* argv[])<br />{<br />     int xx=sum(3,4);<br />....//省略后面的<br />}<br /> <br />直接上VS转化出来的汇编代码<br /> <br />//sum函数部分。。。。<br />int sum (int x,int y){<br />004113B

2010-09-03 18:39:00 617

原创 心灵的碰撞,让我清醒了很多。

今天本来想早点就睡觉的,最后关机前,一个一个关闭网页,顺便最后浏览下,结果看见csdn上一个推荐的文章,看了3 4篇后突然看到一个让我有点感触的标题,于是点了进去,结果就一发不可收拾,一直看到结束,连着评论都看了不少,因为我发现此人的经历居然和我有很大的相似,更重要的是他的性格也如此,我又点了一些其他的文章,发现我可以尝试从他的经历上结果自己的想法好好规划下自己的未来。尽管已经有点晚了,但我还是很兴奋,我知道明天下午肯定又要打瞌睡了,但我愿意,我觉得这个是值得的。有个人说的话,年轻的时候,不该放纵自己!

2010-06-24 01:48:00 609

转载 栈溢出相关

定义       栈溢出就是缓冲区溢出的一种。 由于缓冲区溢出而使得有用的存储单元被改写,往往会引发不可预料的后果。程序在运行过程中,为了临时存取数据的需要,一般都要分配一些内存空间,通常称这些空间为缓冲区。如果向缓冲区中写入超过其本身长度的数据,以致于缓冲区无法容纳,就会造成缓冲区以外的存储单元被改写,这种现象就称为缓冲区溢出。  栈溢出就是缓冲区溢出的一种。 性质  由于缓冲区

2010-04-26 22:44:00 527

原创 c/C++编译的程序占用的内存以及More Effective C++ 条款1:指针与引用的区别

一个由c/C++编译的程序占用的内存分为以下几个部分1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵呵。3、全局区(静态区)(static)—,全局变量和静态变量的存储是放在一块的

2010-04-26 21:46:00 802

转载 面试宝典:C语言面试题总汇(一)

面试宝典:C语言面试题总汇(一)神威 2008-04-24 10:14 发表 4.    static有什么用途?(请至少说明两种)1.限制变量的作用域2.设置变量的存储域#此前在首页部分显示#7.    引用与指针有什么区别?1) 引用必须被初始化,指针不必。2) 引用初始化以后不能被改变,指针可以改变所指的对象。2) 不存在指向空值的引用,但是存在指向空值的指针。

2010-04-26 21:23:00 2306 2

原创 记录帖,大家跳过

http://www.vckbase.com/document/viewdoc/?id=1866http://www.vckbase.com/document/listdoc.asp?mclsid=9&sclsid=901&page=3http://www.vckbase.com/vckbase/columnist/yangfeng/http://blog.csdn.net/paole

2010-04-22 22:55:00 628

转载 IE编程转载

2个比较好的ie编程文章:牛人啊http://blog.csdn.net/CathyEagle/archive/2006/03/11/621961.aspxhttp://blog.csdn.net/CathyEagle/archive/2006/04/25/677425.aspx 顺便记录下Internet Explorer 编程简述(十)响应来自HTML Element的事件通知

2010-04-22 22:52:00 2008

转载 关于com中的CComPtr

这篇文章讲COM的,比较好,里面提到了关于CComPtr的一些知识,很值得一看http://www.360doc.com/content/09/0713/10/168576_4247483.shtml===========================================关于CComPtr的基类的源代码:看了多多少少有点理解,其实和stl或者boost的智能指针还是有点相似,

2010-04-22 20:51:00 2595

原创 关于C++工程 vcproj文件的的一些认识

ProjectType="Visual C++" Version="8.00" Name="Samples" ProjectGUID="{9B09C64E-3AEF-429B-8E90-E270F8FC7D0C}" RootNamespace="CLanguageSamples" Keyword="ManagedCPro

2010-04-11 23:46:00 2326

原创 IE8 中 session 管理的变化(转)

 IE7中,同一个窗口(IE 进程)共享一个session。IE8中,所有打开的IE窗口(IE 进程)共享一个session。除非,用户通过菜单 File > New session  打开新窗口,或者使用命令行参数 iexplore.exe -nomerge 来打开IE。  另外,当所有IE窗口被关闭后,session 结束。 http://www.cnblogs.c

2010-03-29 14:20:00 5645

原创 【WebBrowser】多进程编程(一)

创建进程CreateProcess管理进程: 获取进程句柄和ID: 1:可以通过CreateProcess最后一个(返回)参数,进程信息结构PROCESS_INFORMATION变量来获取所创建的进程及其主线程句柄和ID 2:通过GetCurrentProcess和GetCurrentProcessId来获取当前进程句柄和ID,不过GetCurrentProcess返回的是一个

2010-03-29 09:31:00 3337

原创 【Browser】combobox自绘问题

combobox重绘代码笔记记录:1:combobox由edit,listbox,按钮区域组成。2:设置CBS_OWNERDRAWFIXED后,需要CBS_HASSTRINGS属性,且需要重载measureitem来对item高度进行设定。重载drawitem,进行listbox里的绘制。3:为了让edit支持水平方向一直输入文字,需要style属性CBS_AUTOHSCROL

2010-03-19 20:31:00 3271

原创 dc区域和WS_CLIPCHILDREN和WS_CLIPSIBLINGS的不一样的体会,

今天写代码时,发现个问题,当设置了WS_CLIPCHILDREN和WS_CLIPSIBLINGS属性时,如果是这样的一种情况的话,会出现特别的情况:情况是这样的:一个800*600的窗口,如果创建一个800*200 且window style是child的子窗口的情况下,那么当你用dc去绘图时,会发现在父窗口中绘制在dc中左上角坐标是0,0的位置已经变成父窗口坐标(0,200)的地方

2010-01-21 17:31:00 2655

原创 apache 和php搭建的平台,上传文件的限制问题

php中修改:; Maximum size of POST data that PHP will accept.post_max_size =200M;; Maximum allowed size for uploaded files.upload_max_filesize =200M; Maximum amount of memory a script may consume

2010-01-19 19:08:00 1074

原创 防止网页乱码

1:修改数据库编码,可以修改直接修改mysql中的my.inidefault-character-set=UTF8或者修改某个数据库的编码,执行ALTER DATABASE db_name CHARACTER SET utf8;2:网页中添加最好加载title前,以免标题乱码3:最有用的是执行查询语句之前先执行mysql_query(set names u

2010-01-19 11:26:00 615

原创 架构mysql+apache+php,svn,bugfree等

用了以后才知道并不难。。。apache安装后一般都不能直接启动,因为80端口被用了,那好我们直接换个端口,httpd.conf里改下端口,一般都能启动了,这个时候apache好了然后php,建议下非安装版,直接解压php文件包,然后设置系统环境,吧本身目录和ext的目录加到系统环境变量中,然后在httpd.conf里最下面添加以下几句话LoadModule php5_module

2010-01-19 10:49:00 1016

转载 文件大小与占用空间大小不同的原因

http://hi.baidu.com/frjay/blog/item/13cccbd5bab801cc50da4b73.html查看盘符簇大小的命令:fsutil fsinfo ntfsinfo F:文件大小与占用空间大小不同的原因1."文件大小”与“所占空间”的差别 为了便于大家理解,我们先来看两个例子:例1:找到D盘上的Ersave2.dat文件,用鼠标右

2010-01-11 16:24:00 5281

原创 如何修改项目的目录,各资源链接?

不知道的时候一头雾水,在属性里找了半天。。。其实知道了后,找找总能找到,要知道总共就这么点文件,点开vs可以直接重命名一些文件名啊,项目名啊然后呢,关于那些ico的连接之类的可以直接到.rc文件里该,里面还可以改生成exe的文件名,然后要该项目目录名,就需要去修改.sln文件,这个是最早调用的文件,毕竟解决方案从这里打开,你会非常容易的看见那个文件夹名字啦,就这么简单。~

2009-12-28 22:18:00 762

原创 关于图片镂空和bitblt及setbkcolor等的理解

参考网址:(其实代码都一样,只是提供了图片形象生动来配合理解)http://blog.csdn.net/gudesheng/archive/2008/03/11/2169289.aspx http://www.vckbase.com/document/viewdoc/?id=532 http://blog.csdn.net/suolao/archive/2009/09/23/4

2009-12-24 22:05:00 1863 1

转载 C||C++中几个罕见却有用的预编译和宏定义

http://hi.baidu.com/luosiyong/blog/item/266b8031e456c6ae5edf0ee8.html1:#error语法格式如下:#error token-sequence其主要的作用是在编译的时候输出编译错误信息token-sequence,从方便程序员检查程序中出现的错误。例如下面的程序#include "stdio.h"int

2009-12-23 22:08:00 500

原创 字符与字符串 [windows核心编程]

1,字符编码UTF-8:(Unicode Transformation Format (Unicode转换格式))0x0080 以下的字符压缩为1个字节0x0080~0x07FF 之间的字符转换成2个字节0x0800 以上的字符转换为3个字节代理对(surrogate pair)被写为4个字节。UTF-16:UTF-32:每个字符都编为4个字节。编码算法简单,但是保存文件和网络传输效率低,一般用于

2009-12-23 22:07:00 579

原创 对话框dialog创建深入探索

这里先将模式对话框,当然非模式也类似 首先说下一个结构体typedef struct {    DWORD style;    DWORD dwExtendedStyle;    WORD cdit;    short x;    short y;    short cx;    short cy;} DLGTEMPLATE, *LPDLGTEMPLATE; 这个是对话框创建模

2009-12-17 10:56:00 594

原创 vc知识和技巧(一)

1:void Invalidate( BOOL bErase = TRUE );该函数的作用是使整个窗口客户区无效。窗口的客户区无效意味着需要重绘参数bErase为TRUE时,重绘区域内的背景将被擦除,否则,背景将保持不变。 它和 UpdateWindow( )区别在于:   UpdateWindow( )的作用是使窗口立即重绘。调用Invalidate等函数后窗口不会立即重绘

2009-12-15 16:01:00 708

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除