摘要: 1 #define NavigationBar_HEIGHT 44 2 3 4 5 #define SCREEN_WIDTH ([UIScreen mainScreen].bounds.size.width) 6 7 #define SCREEN_HEIGHT ([UIScreen mainScreen].bounds.size.height) 8 9 #define SAFE_RELEASE(x) [x release];x=nil 10 11 #define IOS_VERSION [[[UIDevice currentDevice] systemVers... 阅读全文
posted @ 2013-08-02 11:06 星烨痕 阅读(595) 评论(2) 推荐(1) 编辑
摘要: apple在ios5的时候提供了json的相关处理api,其中最主要的是NSJSONSerialization类。1 + (BOOL)isValidJSONObject:(id)obj;2 3 + (NSData *)dataWithJSONObject:(id)obj options:(NSJSONWritingOptions)opt error:(NSError **)error;4 5 + (id)JSONObjectWithData:(NSData *)data options:(NSJSONReadingOptions)opt error:(NSError **)error;其中最常 阅读全文
posted @ 2013-08-01 12:13 星烨痕 阅读(8274) 评论(1) 推荐(0) 编辑
摘要: 假设多个版本的lib分别是 libxxx.armv7.a , libxxx.armv7s.a, libxxx.i386.a我们的目标是 把他们合并成超级通用版的libxxx.a 打开命令行 Terminal.app 输入:lipo -create然后依次把两个.a文件拖到终端窗口, 命令行会变成这样:lipo -create /Users/你的用户名/Desktop/libxxx.armv7.a /Users/你的用户名/Desktop/libxxx.armv7s.a/Users/你的用户名/Desktop/libxxx.i386.a然后接着输入 -output 目标文件路径,如:-outpu 阅读全文
posted @ 2013-08-01 10:35 星烨痕 阅读(4495) 评论(0) 推荐(0) 编辑
摘要: 开发几个常用的开源类库及下载地址:1.jsonjson编码解码2.GTMBase64base64编码解码3.TouchXMLxml解析4.SFHFKeychainUtils安全保存用户密码到keychain中5.MBProgressHUD很棒的一个加载等待特效框架6.ASIHTTPRequesthttp等相关协议封装7.EGORefreshTableHeaderView下拉刷新代码8.AsyncImageView异步加载图片并缓存代码9.类似setting的竖立也分栏程序10.MBProgressHUD——进展指示符库11.Flurry——详尽的使用统计12.CorePlot——2D图形绘图仪 阅读全文
posted @ 2013-07-31 17:31 星烨痕 阅读(237) 评论(0) 推荐(1) 编辑
摘要: block是可以捕捉上下文的特殊代码块。block可以访问定义在block外的变量,当在block中使用时,它就会为其在作用域内的每个标量变量创建一个副本。如果通过self拥有一个block,然后又在block中改变了实例变量,就会出错。例如:1 self.block = ^(NSString *aString)2 {3 self.aLabel.text = aString;4 });这段代码中,self保留了block,同时block又保留了self,会引发循环保留。很危险。如果未使用ARC,可以使用__block和__unsafe_unretained来复制一个未保留的引用副本。 ... 阅读全文
posted @ 2013-07-31 09:57 星烨痕 阅读(1721) 评论(0) 推荐(0) 编辑
摘要: 前提条件:机器要破解,cydia能打开需要工具1.openssh2.tcpdump安装工具方法:1.连接网络,打开cydia2.确认Cydia设置为开发者模式(管理->设置->开发者),在Cydia时面搜索openssh,tcpdump并安装连接方法:1.找到一台电脑与iPhone连接同一个Wifi,在PC能ping通iPhone2.在PC的命令行界面输入ssh root@iphoneip3.提示连接ssh,输入yes4.输入密码alpine5.正常显示登录iPhone成功命令行前面为"iphone手机名字"6.输入tcpdump,正常可以看到很多包信息显示7. 阅读全文
posted @ 2013-07-30 15:32 星烨痕 阅读(2276) 评论(0) 推荐(0) 编辑
摘要: 1、替换delegate 如果我们有2个viewController,a和b,当我们从a界面push到b后,在b上面触发了一些事件,这些时间又会影响到a界面上的内容。 上面是2个界面,当我们点击b界面的按钮3的时候,希望a界面上文字也相应的改变了如 一般情况下我们会用delegate来实现。代理很强大,不过代理它是程序的事件逻辑也变的复杂了。来看下用block怎么处理。一个block语句的定义类似于C的函数,有返回值,有0到多个参数,接下来属性声明,跟一般的属性声明差不多:1 typedef void (^CallBack)(int index);2 3 @property(non... 阅读全文
posted @ 2013-07-30 15:05 星烨痕 阅读(1649) 评论(1) 推荐(1) 编辑
摘要: 在ios中,有个非常有用的特性,就是可以为自己写的类增加下标访问功能。如果我们自己的类中有个数组items,我们想直接给类加下标的方式来访问这个数组的元素,就像访问系统的数组一样,其实只要增加一个方法就可以。- (id)objectAtIndexedSubscript:(NSUInteger)idx;这个方法就是给类增加下标访问的功能。看下具体的实现:首先在MyClass.h文件中定义,@property(nonatomic, strong, readonly)NSArray *items;- (id)objectAtIndexedSubscript:(NSUInteger)idx;然后实现- 阅读全文
posted @ 2013-07-29 17:08 星烨痕 阅读(758) 评论(0) 推荐(0) 编辑
摘要: NSNumber:NSNumber*number =@1234;旧的方式:NSArray *physicsValues = [NSArrayarrayWithObjects: [NSNumbernumberWithDouble:6.02214129e23], [NSNumbernumberWithDouble:1.3806503e-23], [NSNumbernumberWithDouble:6.626068e-34], [NSNumbernumberWith... 阅读全文
posted @ 2013-07-25 15:23 星烨痕 阅读(345) 评论(0) 推荐(0) 编辑
摘要: viewDidUnload在ios6开始被弃用了,所以我们在这里处理内存警告的这类问题,这个时候我们就要把相应的处理放在didReceiveMemoryWarning中。- (void)didReceiveMemoryWarning{[superdidReceiveMemoryWarning];sortedNames=nil;sortedValues=nil;}但是如果我们新老版本都要支持的话,那么还需要再加些东西进去。- (void)didReceiveMemoryWarning{[superdidReceiveMemoryWarning];if([selfisViewLoaded] &am 阅读全文
posted @ 2013-07-25 15:15 星烨痕 阅读(540) 评论(0) 推荐(0) 编辑