- 博客(36)
- 资源 (28)
- 收藏
- 关注
原创 如何判断字符串重复出现个数
NSString *str =@"Cheesecake, apple cake, and cherry pie"; NSUInteger count =0, length = [strlength]; NSRange range =NSMakeRange(0, length); while(range.location !=NSNotFound) {
2013-01-31 17:45:55 1217
原创 [UIView animateWithDuration:animations:][UIView beginAnimations:context:]
看过官方文档的都知道,官方推荐在iOS4以后使用[UIView animateWithDuration:animations:],而不是原来的[UIView beginAnimations:context:],来完成动画,虽然二者功能几乎完全相同,但使用前者在一些情况下会方便不少,这些内容可以参考官方文档View Programming Guide For iOS的Animation一节.
2013-01-31 15:58:47 883
转载 Objective-C的新特性
苹果在今年的WWDC2012大会上介绍了大量Objective-C的新特性,能够帮助iOS程序员更加高效地编写代码。在不久前更新的XCode4.4版本中,这些新特性已经可以使用了。让我们看看这些新特性有哪些:Object Literals这个是我认为最赞的一个改进。Object Literals允许你方便地定义数字、数组和字典对象。这个功能类似于java5提供的auto boxin
2013-01-31 14:11:37 722
转载 UIWebView加载HTTPS站点出现NSURLErrorDomain code=-1202 SSL
最近在做push 信息到facebook中。当使用UIWebview加载https的站点时webview总是会报NSURLErrorDomain code=-1202,导致网页加载失败。自己打印错误和网上搜索是因为证书失效,https使用超文本安全传输协议,即超文本传输协议(HTTP)和SSL/TLS的组合,用以提供加密通讯及对网络服务器身份的鉴定。当我们的服务器使用自我签名证书时,而UIWebV
2013-01-29 12:53:35 4174
原创 object-c 利用scanf 实现终端的输入输出缓冲
#import int main(int argc, char *argv[]) {@autoreleasepool {NSLog(@"请输入您的帐号");int i; scanf("%d",&i);NSLog(@"您输入的是%d",i);}}
2013-01-28 15:02:38 1616
原创 Git 修改提交信息
方法一 git commit --amend 可以修改最后一次 commit方法二 交互式修改查看修改1git rebase -i master~1 //最git rebase -i master~5 //最后五次2. // 显示结果如下,修改 pick 为 edit ,并 :wq 保存退出pick 91b495b 2012-01-08: "提交信息内容"
2013-01-28 11:23:26 1961
原创 (7) — ARC总结 转自易飞扬 内容有改动
通过前面几篇文章的介绍,我想大家应该对ARC有了一个比较完整的理解。最后,我们来对ARC做一个总结,并把一些未涉及到的细节部分再深入讨论一下。内存管理基本原则内存管理的依循下面的基本原则自己生成的对象,那么既是其持有者不是自己生成的对象,也可成为其持有者(一个对象可以被多个人持有)如果不想持有对象的时候,必须释放其所有权不能释放已不再持有所有权的对象
2013-01-28 00:37:05 985
原创 (6) — ARC之对象转型 转自易飞扬
自 Xcode4.2 开始导入ARC机制后,为了支持对象间的转型,Apple又增加了许多转型用的关键字。这一讲我们就来了解其用法,以及产生的理由。引子我们先来看一下ARC无效的时候,我们写id类型转void*类型的写法:id obj = [[NSObject alloc] init];void *p = obj;反过来,当把void*对象变回id类型时,只
2013-01-28 00:25:06 929
原创 (5) — ARC之Outlet与弱引用 转自易飞扬
使用weak property声明Outlet当我们使用 Interface Builder 生成Outlet对象的时候,一般都是作为 subview 来使用的。比如 UIViewController 的view。所以说Outlet的持有者就是superview对象,即有“父子”关系。由上一回 iPhone开发之深入浅出 (4) — ARC之循环参照 我们知道,当对象间有“父子”关系时
2013-01-28 00:17:43 1502
原创 (4) — ARC之循环参照 转自易飞扬
概念当我们使用强参照(Strong reference)时,往往需要留意 循环参照 的问题。循环参照指的是两个对象被互相强参照,以至于任一对象都不能释放。一般情况下,当对象之间有“父子关系”时,强参照的情况发生的比较多。比如通讯薄对象AddrBook和每个通讯录Entry的关系如下。这种情况下,由于Entry对象被AddrBook强参照,所以不能释放。另一方面,
2013-01-28 00:11:57 904
原创 (3) — ARC之前世今生 转自易飞扬
前两节我们对 ARC(Automatic Reference Counting) 有了一个基本的理解,但是 ARC 是怎么产生的,为什么苹果要在其最新的 iOS/Mac OS X 上导入该框架? 如果不理解其背后的基本原理,只是死记硬背那些规则/方法,是毫无意义的。就像我们从小接受的填鸭式教育,基本上到后来都还给老师了。本节,我们先来看看 ARC 产生之前的 Objective-C 内存管
2013-01-27 23:58:47 863
原创 (2)ARC之@property使用 转自易飞扬 内容有改动
上一回我们学到了一些ARC的基本概念,这一次我们来看看ARC对@property的使用规则有何影响。首先说下__ 和不带__ 的区别吧strong,weak 等用来修饰属性。__weak, __strong 等是用来修饰变量的。例如@interface SomeObject : NSObject { __weak id SomeObject
2013-01-27 23:43:37 843
原创 XCode中的快捷键
Xcode 也有许多快捷键,编程的同时使用它们可以提高你的效率,一起试试吧。其中 Opt ⇔ Alt 键。Opt+Cmd+↑在 .h/.m 文件间切换 : 你是否经常在 .h/.m 文件直接频繁切换呢?一般是点击左边的「组和文件」来选择,但是使用快捷键将更加方便。Opt+高亮符号+双击检索高亮处函数的帮助当你在 dictionaryWithObjec
2013-01-27 23:39:01 1106
原创 ARC 教程一: ARC是什么转自易飞扬
1一/121 ARC是什么新年伊始,万象更新。新一年开始,我们来更加深入了解一下iPhone开发的内部。作为开始,我们先来了解一下ARC。ARC是什么ARC是iOS 5推出的新功能,全称叫 ARC(Automatic Reference Counting)。简单地说,就是代码中自动加入了retain/release,原先需要手动添加的用来处理内存管理的引
2013-01-27 23:17:16 1298
原创 string 构造 拷贝 和析构函数
已知String的原型为class String{public:String(const char *str =NULL);//普通构造函数String(const String &other);//拷贝构造函数~String(void);//析构函数String &operate=(const String &other);//赋值函数private:char
2013-01-27 21:27:36 880
原创 C++ QT 的快速排序 几年之前写的 现在复习下 呵呵
#include #include "iostream"using namespace std;void sort(int shuzu[],int left,int right){int i(left),j(right),middle(0),tmp(0);middle=shuzu[(qrand()%(right-left+1))+left];do{while((i
2013-01-27 21:24:23 1839
转载 Objective-C的方法替换(Method Replacement for Fun and Profit)
本文将要讨论Objective-C中的方法替换(method replacement)和swizzling(移魂大法)。 重写类的方法(Overriding Methods)Overriding methods在任何面向对象语言中都很常见,主要用于子类化中。在子类中复写一个方法,然后在子类的实例就可以使用这个被重写的方法。 对于一个你无法控制其实
2013-01-26 23:40:12 743
转载 改进iOS客户端的升级提醒功能
新浪微博、网易微博、网易新闻客户端以及大部分带有升级提示功能的App,所以我觉得这个问题还是挺普遍的。对于该问题,一句话描述起来就是:“这些App都会在用户刚刚使用它的时候,提示有新版本,让用户去AppStore上下载最新的版本”。下面是某个应用的升级提示截图为什么我认为这是一个糟糕的设计呢?因为用户刚刚打开你的App,明显就是想使用你的功能。例如刚刚打开新浪微博,可能就是想看一下最新
2013-01-24 15:40:14 895
原创 优化Stack Trace 崩溃的显示 转自 唐巧
intmain(intargc,char *argv[]){ @autoreleasepool{ // 异常停在了下面这行,毫无提示作用 returnUIApplicationMain(argc,argv,nil,NSStringFromClass([MyClassclass]));}}XCode的Console界面报出了一
2013-01-24 14:46:35 2353
原创 使用GCD 转自 Posted by 唐巧
什么是GCDGrand Central Dispatch (GCD)是Apple开发的一个多核编程的解决方法。该方法在Mac OS X 10.6雪豹中首次推出,并随后被引入到了iOS4.0中。GCD是一个替代诸如NSThread, NSOperationQueue, NSInvocationOperation等技术的很高效和强大的技术,它看起来象就其它语言的闭包(Closure)一样,但苹
2013-01-24 14:31:52 1011
原创 断言 NSAssert assert NS_BLOCK_ASSERTIONS
NSAssert 只能在Objective-c里面使用。是assert的一个扩充。能捕获assert类异常及打印一些可读的日志。而assert只是让app crash(abort).xcode 中 大家都会在debug(QA) 模式下进行调试代码所以我们只需要再build Settings 中假如宏定义 变成够 控制 NSAssert的生效范围例如 只希望debug
2013-01-24 14:06:45 2081
原创 多个个框架静态编译是注意的一点Build Active Architecture Only
当多个框架静态编译时 为了节约调试时间可以把QA的target ----》Build Active Architecture Only 设置为YES
2013-01-24 13:36:19 1335
原创 Core Animation Extensions To Key-Value Coding ,animationWithKeyPath 的取值,CABasicAnimation 动画
[CABasicAnimation animationWithKeyPath:@"opacity"];animationWithKeyPath后面的属性必须是CALayer的某项属性animationWithKeyPath可以是如下集中属性:transform.scale = 比例轉換transform.scale.x = 闊的比例轉換transform.sca
2013-01-24 01:15:42 1437
转载 利用vim 快速格式化文本
换行方式在早期的打印机时代,开始新的一行要占用两个字符的时间。如果到了一行的结尾处,你要快速回到新的一行的开头,需要打印针头在纸面上飞快地掠过,常常会在纸面上留下污点。解决这个问题的办法就是,用两个字符:一个字符来移到第一列,另一个字符来新增一行。计算机产生以后,存储较为昂贵,在如何解决回车换行这个老问题上,人们产生了不同的意见。UNIX人认为在到达一行的结尾时新增一行 (LF),而M
2013-01-23 17:37:32 3099
原创 配置vim 默认保存文件格式为UTF-8
第一种办法,设定.vimrc文件:在/home/username/.vimrc或者/root/.vimrc下增加两句话:let &termencoding=&encodingset fileencodings=utf-8,gb18030,utf-16,big5这种办法可以实现编辑UTF-8文件第二种办法,在vi编辑器中设定::set encoding
2013-01-23 17:36:03 4812
原创 查询工程中的图片是否被引用 对于后期优化非常有用
有部分图片是名称一样存放在模块的image文件下与公共的image 文件重复有的是图片名称一样 文件不一样xib 中引用的到请用以下命令逐一查看排除grep -i -r --include=*.xib --include=*.m "line" ./ | grep "line.png"
2013-01-23 12:58:08 1945
原创 ios 序列化
序列化参考原始文档:https://github.com/mystcolor/JTObjectMapping使用方法========绝大多数情况下,需要用到的就是一个方法:[NSObject objectFromJSONObject:stateObject mapping:nil];其中,把NSObject换成我们想映射成的类的名字。稍微
2013-01-22 16:13:05 1025
翻译 KVO
添加观察者模式,来实现某个property更改后,通知指定的类。然后到observeValueForKeyPath:ofObject:change:context:提供处理1 [object addObserver: observer forKeyPath: @"frame" options: 0 context: nil]; 调用方法是里: o
2013-01-15 21:10:31 820
原创 git alias 等 gitconfig的一些配置
[alias] logs = log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)%Creset' --abbrev-commit st = status ci = commit br = branch co = checko
2013-01-10 17:00:49 3139
原创 代码规范
一句话编码规范============就按照Cocoa API文档上的编码方式写就行。基本你遇到的所有编码风格问题,看API都能找到类似的情形作为参考。本文定义的编码规范,就是以官方文档和示例代码作为基础。具体的编码规范============1、最基础的类和常量要用大写字母开头,变量和方法用小写字母开头。这个如果写不对,会被读代码的人耻笑的。2、类
2013-01-10 11:38:03 976
原创 snippet library
/************************************************* Description: 函数功能、性能等的描述#> Input: 输入参数说明,包括每个参数的作用、取值说明及参数间关系。#> Output: 对输出参数的说明。#> Return: 函数返回值的说明#> Others:
2013-01-08 15:33:55 529
嵌入式QT简单的文件查看器
2010-04-12
嵌入式开发 环境配置篇 Fedora
2010-04-12
fedora 12 (linux)的使用中遇到的常见问题解决方案
2010-04-07
最新linux2.6.33内核移植到s3c2410平台详细步骤
2010-03-13
单片机4*4键盘+流程图+源程序+hex文件+仿真文件+工程文件
2010-01-13
《arm9实验基础教程》pdf格式
2009-12-27
武汉理工大学arm实验(c语言)教程
2009-12-27
嵌入式 深入浅出学习驱动开发
2009-12-23
linux网络编程.pdf
2009-12-20
Proteus 元器件中文翻译
2009-12-20
C语言编程宝典.rar
2009-11-06
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人