- 博客(160)
- 资源 (27)
- 收藏
- 关注
转载 IPB帧及PTS、D'T'S
I frame :帧内编码帧 又称intra picture,I 帧通常是每个 GOP(MPEG 所使用的一种视频压缩技术)的第一个帧,经过适度地压缩,做为随机访问的参考点,可以当成图象。I帧可以看成是一个图像经过压缩后的产物。P frame: 前向预测编码帧 又称predictive-frame,通过充分将低于图像序列中前面已编码帧的时间冗余信息来压缩传输数据量的编码图像,也叫预测帧;
2012-08-02 18:26:08
2003
原创 如何解决拖拽光标+resizeLeftRightCursor+在拖拽过程中保持不变,不闪烁?
如果要想在拖拽中调用 [[NSCursorresizeLeftRightCursor]set];来使鼠标保持resize的形状那还不够,这时候拖拽的时候会闪烁的。只要在mouseDown中调用“[[NSAppmainWindow]disableCursorRects]
2011-10-13 16:18:59
1849
1
原创 xocde4.1 svn配置
svn服务器地址是:svn://192.168.1.2:/WorkSpace,***注意:地址不能是ip地址, 得用域名所以我们需要修改本地hosts文件,把192.168.1.2这个ip地址映射到一个自定义的域名. hosts文件修改: 1.在应用程序里面打开终
2011-10-11 19:19:54
1144
1
原创 关于sheet线程安全问题
- (void)beginSheet:(NSWindow *)sheet modalForWindow:(NSWindow *)docWindow modalDelegate:(id)modalDelegate didEndSelector:(SEL)didEndSele
2011-10-11 17:42:17
1068
原创 从xcode4.0.2升级到xcode4.1,查看定义无法跳转,出现Symbol Not Found问题!
前两天升级了xcode,到今天才发现了个问题,就是我的工程里,我按住command键加鼠标点击自定义的类或者方法,无法跳转,而弹出 Symbol Not Found这样的提示框。折腾了两三个小时不知道怎么回事。最后我创建了一个新的工程,在新工程下再创建一个自定义类,新的工
2011-09-14 15:43:28
2144
1
原创 关于Xcode4的svn连接不上问题
在xcode4上设置svn的时候有个问题要注意,我们添加服务连接,譬如:svn://192.168.1.2/WorkSpace的时候,当按下一步的时候它会采用系统账号名来尝试登录,因此经常出现无法登录的问题,原因有如下:1、服务端没有该用户名 2、即使有改用户名,svn://19
2011-08-09 11:39:05
1664
转载 cocoa 国际化
开发项目的时候不用管显示语言的问题,在代码中任何地方要显示文字都这样调用:NSLocalizedString(@"aaa", @"bbb");这里aaa相当于关键字,它用于以后从文件中取出相应语言对应该的文字。bbb相当于注释,翻译人员可以根据bbb的内容来翻译aaa,这
2011-08-02 23:57:41
921
转载 svnserve配置文件详析
svnserve是SVN自带的一个轻型服务器,客户端通过使用以svn://或svn+ssh://为前缀的URL来访问svnserve服务器,实现远程访问SVN版本库。 svnserve可以通过配置文件来设置用户和口令,以及按路径控制版本库访问权限。本文详细分析了svnser
2011-07-11 16:52:20
672
原创 新手学会使用Cocoa帮助文档
<! v/:* {behavior:url(#default#VML);}o/:* {behavior:url(#default#VML);}w/:* {behavior:url(#default#VML);}.shape {behavior:url(#default#VML);}--> Normal 0 fals
2011-06-06 10:23:00
4344
转载 object-c难以理解的一些概念
<br /> <br />1.object-c怎么实现多态<br /> 答:多态是在runtime里面实现的,在编译的时候,compiler把所有class的定义都存放在class 实例对象里面,class实例对象包含了class的父class 实例对象的地址,class方法的select id和地址, class变量的偏移等。所有new出来的object都是从NSObject继承过来的,所以所有对象都自动包含了一个isa的指针,这个指针在调用alloc为object分配地址的时候被指向class对象的地
2011-05-20 11:56:00
1640
原创 关于BeginSheet 的窗口问题
<br />如果要弹出一个自定义的window,可以创建一个新的window xib文件,并通过NSBundle来加载。xib的window属性有一个选项,就是visible at lauch,如果勾选的,执行下面代码时:<br /><br /> [NSBundleloadNibNamed: @"RegisterWindow"owner: self];<br /><br /> [NSAppbeginSheet: sheet<br /> modalForWindow: window<br />
2011-05-05 10:33:00
3018
转载 MD5应用
<br />MD5还广泛用于操作系统的登陆认证上,如Unix、各类BSD系统登录密码、数字签名等诸多方。如在UNIX系统中用户的密码是以MD5(或其它类似的算法)经Hash运算后存储在文件系统中。当用户登录的时候,系统把用户输入的密码进行MD5 Hash运算,然后再去和保存在文件系统中的MD5值进行比较,进而确定输入的密码是否正确。通过这样的步骤,系统在并不知道用户密码的明码的情况下就可以确定用户登录系统的合法性。这可以避免用户的密码被具有系统管理员权限的用户知道。MD5将任意长度的“字节串”映射为一个12
2011-05-03 22:26:00
1228
转载 acceptsFirstMouse
<br />Override this method in a subclass to allow instances to respond to click-through. This allows the user to click on a view in an inactive window, activating the view with one click, instead of clicking first to make the window active and then clickin
2011-04-28 17:38:00
1099
转载 makeFirstResponder
p.p1 {margin: 0.0px 0.0px 4.0px 0.0px; font: 19.0px 'Lucida Grande'}p.p2 {margin: 0.0px 0.0px 10.0px 0.0px; font: 13.0px 'Lucida Grande'}p.p3 {margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Courier}p.p4 {margin: 0.0px 0.0px 2.0px 0.0px; font: 13
2011-04-28 17:11:00
2142
原创 关于NSPasteboard的经历
<br />在给NSPasteboard增加数据的时候,一定要先调用clearContents来清除之前的数据,否则原来的数据会给当前的数据造成影响。
2011-04-28 11:18:00
3428
原创 为什么inLiveResize一直在跑?
今天调试程序的时候发现cpu不断在刷,后来找到是自定义NSMatrix子类的 inLiveResize 和 DrawRect 一直在被调用。后来追查到真凶,就是在自定义的NSCell子类的drawWithFrame方法中调用了setAttributedStringValue方法。估计该方法会促发重绘消息,因此一直循环重绘。以后在处理绘图函数drawXXX时一定要小心,避免调用到会触发该重绘函数响应的函数,这样的函数应该在重绘函数外调用。p.p1 {margin: 0.0px 0.0px 0.0p
2011-04-23 12:55:00
917
原创 关于view的frame
最近写代码无意中发现个问题,添加一个subview作为当前view的子view,那个subview的宽度是有限制,不能无限制增大,若达到临界值,将会出现以下警告:p.p1 {margin: 0.0px 0.0px 0.0px 28.0px; text-indent: -28.0px; font: 11.0px Menlo} -[_NSViewBackingLayer(0x1e3b5420) a={0, 0} p={0, 100.65} b=(0,0,26390,64.35) superlay
2011-04-16 15:19:00
2915
原创 善用subview代替直接在view上绘制
<br />最近实践发现把太多东西直接绘制到同一个view中不如拆分用subview来处理,也可以将一个类细分。
2011-04-13 23:26:00
646
原创 QuickTime Movie第一次使用只能在主线程
<br />最近使用QuickTime,发现直接通过创建一个线程来调用QuickTime的函数会报线程相关的错误,网上查找了一下,QuickTime必须在主线程初始化过才能在别的线程调用,否则会出错,调用[QTMovie class]就可以达到初始化。
2011-04-10 21:15:00
1013
转载 mac os 非活跃内存
<br />释放非活跃的内存是WIN系统里面的思想,在苹果系统里面不成立。为什么这么说呢?<br />简单的说,OS X的内存使用情况分为wired、active、inactive、free四种。<br />wired是系统核心占用的,永远不会从系统物理内存种驱除。<br />active表示这些内存数据正在使用中,或者刚被使用过,<br />inactive表示这些内存中的数据是有效的,但是最近没有被使用<br />free, 表示这些内存中的数据是无效的,这些空间可以随时被程序使用。<br />当fre
2011-04-07 09:17:00
3936
原创 关于inLiveResize实践的一些经验。
<br />写了一个自定义的View,在该view中添加了许多subview,本以为将该自定义view的自动resize subview标志设为true,它的subview就会自动调整。其实不然,通过调用addSubview来添加的subview都必须重新调整frame大小。原以为将调整subview大小的操作放在inliveResize里能得到想要的结果,最后发现当最大化的时候那些subview的位置总是有问题。而我把这些操作放入drawRect的时候,让inliveResize什么都不做的时候则解决了该
2011-04-02 15:24:00
972
原创 关于QTMovieView的问题
<br />今天发现,我拖一个QTMovieView到MyDocument.xib中,在MyDocument.h中声明一个NSView的插座,将它连接到QTMovieView,在另外一个类C中声明一个QTMovieView插座,同样连接到MyDocument.xib中的QTMovieView, 在类C中实现播放(我只播放音乐),结果发现无法听到音乐。<br />而当我将QTMovieView从MyDocument.xib删除,拖一个NSView到MyDocument.xib,在IDentity中将其类名改
2011-03-25 09:42:00
930
原创 自定义View刷新问题
<br />实现自定义View时,调用[self setWantsLayer:YES]是很重要的,不然addSubView这些函数调用将会导致界面刷新出现问题
2011-03-19 09:58:00
1942
原创 NSOpenGLContext与QCRender线程安全问题
在编写demo的时候,不经意中将NSOpenGLContext对象与QCRender对象创建于不同的线程,结果导致QCRender对象render失败,没有图像显示,之前检查各个函数返回值均没有发现问题,后来将这两个对象创建于同一个线程则解决了问题,再想起曾经看过某些文档说过,OpenGL多线程是不安全的,因此得出结论,NSOpenGLContext与QCRender必须创建于同一线程。
2011-02-21 22:45:00
1379
原创 NSProgressIndicator 进度没有响应!
<br />如果出现此问题,请检查一下你是否运行在多线程环境上,如果是,请调用setUsesThreadedAnimation设置True
2011-02-14 16:33:00
2876
转载 otool 与dylib
<br />所谓dylib,就是bsd风格的动态库。基本可以认为等价于windows的dll和linux的so。mac基于bsd,所以也使用的是dylib。<br />如果你需要引用一个第三方的dylib,在xcode下编译出cocoa程序,在本机上运行是不会出问题的。但是发布出来,给其他用户用,就可能出问题。因为用户不一定有这个库。<br />这个问题给我造成了相当的困扰,我到现在也没找到正规的方法。但是我确实解决了这个问题,虽然方法不一定正宗。不管怎么说,写下来,如果暂时没有更好的办法,那么先这样做。如
2011-02-12 16:04:00
1700
转载 mysql 的alter用法
<br /> <br />mysql> alter table employee change depno depno int(5) not null;<br />加索引<br />mysql> alter table 表名 add index 索引名 (字段名1[,字段名2 …]);<br />例子: mysql> alter table employee add index emp_name (name);<br /><br />加主关键字的索引<br />mysql> alter
2011-02-10 18:04:00
678
转载 MAC 下面环境变量的设置
<br /> 开发Android的环境要重新在Mac上搭建,结果在配置环境变量时找不到.bash_profile文件。查过很多资料解决方案都很笼统,结果还是在英文网站上找到解决方法。<br />1. 启动终端Terminal<br />2. 进入当前用户的home目录<br /> 输入cd ~<br />3. 创建.bash_profile<br /> 输入touch .bash_profile<br />4. 编辑.bash_profile文
2011-02-10 12:32:00
1066
1
转载 MAC 显示隐藏文件的方法
打开“终端”,输入以下代码:Xml代码 defaults write ~/Library/Preferences/com.apple.finder AppleShowAllFiles -bool true defaults write ~/Library/Preferences/com.apple.finder AppleShowAllFiles -bool true<br /> <br />然后重启 Finder 即可。<br /><br />恢复隐藏的代码:Xml代码 defaults write ~
2011-02-10 12:18:00
686
转载 Unix环境变量设置[转]
<br />我们在Linux下安装系统软件的时候,经常遇到一些系统环境变量配置的问题。什么是环境变量?如何定制环境变量?我将在下面做一些介绍。<br /><br />一、什么是环境变量?<br />Linux是一个多用户的操作系统。多用户意味着每个用户登录系统后,都有自己专用的运行环境。而这个环境是由一组变量所定义,这组变量被称为环境变量。用户可以对自己的环境变量进行修改以达到对环境的要求。<br /><br />二、定制环境变量 <br />环境变量是和Shell紧密相关的,它是通过She
2011-02-10 11:45:00
818
原创 嵌入自定义framework到应用程序包中
<br />在实际开发过程中,我们常常要编写自定义的framework。<br />framework写好后会面对着这样一个问题,我的应用程序加载的时候如何能找到我自己写的framework呢?<br /> <br />首先要弄清楚,应用程序加载时寻找framework的路径顺序时怎样的:<br />1、首先从用户自定义路径中寻找<br />2、从/Library/Frameworks中寻找--------第三方framework一般放这里<br />3、从/System/Library/Framework
2011-01-24 11:12:00
2730
转载 Mac下的Subversion使用文档
<br />Subversion是一个非常好的版本控制系统,利用它可以对项目内的文件进行方便的管理和同步。<br />1.创建版本库<br /><br />(1)到需要存放版本库的地方(比如根目录) mkdir -p /Library/Subversion/Repository<br />(2)创建版本库,名称以Project1演示 svnadmin create /Library/Subversion/Repository/Project1<br />(3)创建svnser
2011-01-14 15:04:00
3342
1
转载 模式系列谈之Facade模式
<br />看到“门面”这个词,大家一定都觉得很熟悉。不错,这个词正是借用了我们日常生活中的“门面”的概念。日常生活中的“门面”,正是我们买东西的地方。因此可以这么说,“门面”就是这么一个地方,它们跟各种商品的生产商打交道,收集商品后,再卖给我们。换句话说,如果没有“门面”,我们将不得不直接跟各种各样的生产商买商品;而有了“门面”,我们要买东西,直接跟“门面”打交道就可以了。 <br />Facade模式正是这样一个“门面”:我们本来需要与后台的多个类或者接口打交道,而Facade模式是客户端和后台之间插入
2010-12-24 09:32:00
629
1
原创 设计模式总结
原型模式主要是为了方便克隆对象;适配器模式可以更好重用代码,借助已有代码实现自己的接口,分类模式和对象模式;桥接模式和装饰模式在jie构上有些类似但并不相同;桥接模式很好地解决接口与实现分离,接口与实现可以有不同的抽象类,接口抽象类聚合实现抽象类成员,根据具体实现类不同而执行不同 的功能。装饰模式是为了扩展已有类的功能,因此装饰类和已有类具有相同基类,装饰类聚合基类,由此来扩展已有类功能。
2010-12-23 09:21:00
865
转载 mysql for mac 安装和基本操作
<br />一.安装mysql <br /><br />1.mysql下载地址http://dev.mysql.com/downloads/mysql/我的机器是mac 10.6的;所以使用mysql-5.1.52-osx10.6-x86.dmg安装包; <br />2.安装软件包位于硬盘映象(.dmg)文件中,必须首先双击搜索起中的图标来安装该文件。应当安装图像并显示其内容。 <br /><br />注释:在继续安装前,一定要使用MySQL管理器应用程序(在Mac OS X服务器上)或通过命令行的mysq
2010-12-15 12:33:00
30196
1
原创 国外程序员是如何准备面试的
<br />一、开门见山<br /><br /> 一般来说,你(求职者)在面试中会花很多时间谈论以前的经历。如果你还没有想出你的最具代表性的经历/案例,那么你现在是时候该做了。下面有张问题表,虽然很多问题看似比较低级,但相信我,看完这些问题后,你应当反思自己。即便面试时没有碰到类似这张列表上的问题,你在面试也可以用上已准备好的答案。 1. 说说你自己吧 2. 你的短期目标是什么?你2到5年内的目标是什么? 3. 你的愿景/使命是什么? 4. 你想从这个岗位中学到什么?
2010-12-10 23:54:00
1436
转载 提高编程效率
<br />转自:http://www.jobbole.com/entry.php/313<br /><br /> 俗话说,磨刀不误砍柴工,拿出一部分时间提升自己的技能,可以提高工作效率。你可以参考以下几条建议:<br /><br />1. 编写单元测试,提高效率(如果你还没有这样做)<br /><br /> 这是一个十分基础的工作,但是许多程序员并没这么做。但你应该这么做。这样做不仅能够提高代码质量,还能提高工作效率。你不但能够在发布和修改你的程序时更加自信,而且还节省了相当多的时间。<br
2010-12-10 23:44:00
836
转载 关于unix下动态库编译、链接、加载的问题
<br />http://www.360doc.com/content/10/1128/15/4825872_73139514.shtml
2010-12-06 14:48:00
728
转载 inux共享库位置配置
<br />linux共享库位置配置(LD_LIBRARY_PATH环境变量 或者 更改/etc/ld.so.conf 或者 使用-R选项)<br /> <br />今天下午尝试使用libosip2,安装比较简单,按照自带的help文档里面的操作进行即可。<br />$>mkdir linux-build <br />$>cd linux-build<br />$>../libosip2-2.2.0/configure<br />$>make (最后2步
2010-12-01 16:41:00
700
苹果脚本跟我学 (简体中文)
2010-10-12
网络编程测试代码,仅供自己使用,已加密
2010-02-07
Sparx.Systems.Enterprise.Architect.Corporate.v7.1.831
2009-05-31
Chapter 9. The Stack and the Heap
2009-05-27
ISO_IEC_14496-12
2008-07-08
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人