- 博客(94)
- 收藏
- 关注
原创 减小App包的大小
检查.ipa文件首先获得app的ipa文件。将ipa文件的后缀改为.zip,解压得到包内容。查看资源文件哪个最大。然后试着对最大的文件就行处理图片尽量使用8-bit图片使用8-bit的PNG图片,比32-bit的图片能减少4倍的压缩率。由于8-bit的图片支持最多256种不同的颜色,所以8-bit的图片一般只应该用于一小部分的颜色图片。例如灰
2014-08-06 18:33:32 1921
转载 数组中有字典的排序
.数组中有字典的排序: NSMutableArray *myMutableArr = [[[NSMutableArray alloc] init] autorelease]; NSDictionary *dicOne = [NSDictionary dictionaryWithObjectsAndKeys:@"1",@"price",@"2",@"number", nil]
2015-12-14 18:27:56 1557
原创 关于UIScrollview代理方法详解
-(void)scrollViewWillBeginDragging:(UIScrollView *)scrollView用户拖动scrollview的时候- (void)scrollViewDidScroll:(UIScrollView*)scrollViewscrollView的contentOffset发生改变的时候调用-(void)scrollVie
2015-01-20 13:58:28 719
原创 viewDidLayoutSubviews 与 layoutSubviews 调用顺序
了解演示demo的UI布局:(lldb) po [[self view] recursiveDescription]> | > | | > | | | >也即是:self.view 上添加个自定义的customView打印调用的顺序:TestFunctionCall[49445:60b] ---> -[ZQRootV
2014-10-15 11:36:39 15812
转载 关于运行时的方法使用:objc_setAssociatedObject
- (void)viewDidLoad{ [super viewDidLoad]; NSString * overview = @"overview"; self.model= [[DataModel alloc] init]; [self.model setValue:@"searph" forKey:@"stockName"]; [self.model
2014-09-22 23:22:06 3968
原创 关于NSArray的几种排序:
#利用数组的sortedArrayUsingComparator调用 NSComparator 其中NSComparator其实就是一个返回NSComparisonResult的block。 typedef NSComparisonResult (^NSComparator)(id obj1,id obj2); 其中obj1、obj2其实是NSArray中的元素
2014-08-21 20:37:29 2933
原创 nil、Nil、NULL、NSNull
标志 值 含义NULL (void *)0 C指针的字面零值nil (id)0 Objective-C对象的字面零值Nil (Class)0 Obj
2014-08-18 15:11:58 493
原创 iOS 快速切换开发环境
step1: 添加自定义的配置project Navigationor --> PROJECT --> Info -->Configurations(+) -->Depulicate"Debug" Configuration. 如图:step2: 添加关键字info.plists --> add {Key:Configuration Value:${CONFIGURATION
2014-08-07 18:26:47 2468
原创 AVPlayer vs. AVAudioPlayer
AVPlayer can play from AVPlayerItem using AVURLAsset with an iPod library url. The AVAudioPlayer cannot play from an iPod library url.AVPlayer has no volume property and requires the use of the
2013-09-17 15:05:45 2289
原创 iOS的影片播放 MediaPlayer 和 AVPlayer
在iOS開發上,如果遇到需要播放影片,如開機動畫…,我們很習慣地會使用MediaPlayer來播放影片,因為很方便使用,所以就一直使用下去。但是隨著客戶的要求越來越嚴苛,尤其是過場動畫或互動效果上的表現。所以如果在一些動畫中還挾帶影片一起運算,那勢必機器會跑不動。所以在iOS 4之後,我們可以使用AVPlayer這個類別來進行更細微的操作。備註:MediaPlayer的影片是放
2013-09-17 14:32:08 2616
原创 IOS 用dispatch_once创建单利
无论是爱还是恨,你都需要单例。实际上每个iOS或Mac OS应用都至少会有UIApplication或NSApplication.什么是单例呢?Wikipedia是如此定义的:在软件工程中,单例是一种用于实现单例的数学概念,即将类的实例化限制成仅一个对象的设计模式。或者我的理解是:单例是一种类,该类只能实例化一个对象。 尽管这是单例的实际定义,
2013-09-09 09:36:52 990
原创 NSSCanner 提取 指定 字符串
/** * 从msg中提取指定的内容 * * @param msg 字符串集合 * * @return 从msg中提取指定的内容 */-(NSString*)extractBodyFromMessage:(NSString* )msg{ NSString* body=msg; NS
2013-09-06 10:38:07 947
原创 IOS Button 模拟点击
[self.mycancelbtnsendActionsForControlEvents:UIControlEventTouchUpInside];
2013-08-31 15:14:57 6271
原创 ios实现基于socket tcp/ip 的通讯
http://www.wappu.cn/2013/communication_0504/976.html
2013-08-14 10:32:05 747
原创 git 客户端 代码下载与提交
(1)git clone 服务器用户名@服务器IP:~/Git目录/.git 功能:下载服务器端Git仓库中的文件或目录到本地当前目录。(2)对Git目录中的文件进行修改。(3)git status 功能:查看Git仓库中的文件状态。(3)git add . ****带个点号**** 功能:向本地Git仓库中添加修改文件或目录。(4)git
2013-08-03 15:49:19 1541
原创 设备 支持的字体 添加 新字体
for (NSString *family in [UIFont familyNames]) { NSLog(@"%@", family); for (NSString *font in [UIFont fontNamesForFamilyName:family]) { NSLog(@"\t%@", font); }}
2013-07-28 17:17:56 717
原创 捕捉 程序关闭或者 进入后台事件
UIApplication *app = [UIApplication sharedApplication];[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(applicationWillResignActive:) name:UIApplicationWillResignActiveNot
2013-07-28 16:53:18 1229
转载 ios 流媒体 MpMovieplayerController
http://blog.csdn.net/iukey/article/details/7311126
2013-07-22 10:07:24 684
原创 ios debug release nslog
如何在debug状态下输出打印日志而在release下输出打印日志在XXXX.prifix-pch文件中加入#ifndef __OPTIMIZE__#define NSLog(...) NSLog(__VA_ARGS__)#else#define NSLog(...){}#endif即可!!__OPTIMIZE__ 是release 默认会加的宏__VA
2013-07-18 11:35:37 859
原创 计算某个方法运行的时间
1.引入库2.uint64_t start = mach_absolute_time();// 要计算时间的语句uint64_t end = mach_absolute_time(); NSLog(@"time = %lld",end - start);注意:uint64_t 是long long double 类型
2013-07-18 11:15:50 747
转载 IOS中Json解析的四种方法
作为一种轻量级的数据交换格式,json正在逐步取代xml,成为网络数据的通用格式。有的json代码格式比较混乱,可以使用此“http://www.bejson.com/”网站来进行JSON格式化校验(点击打开链接)。此网站不仅可以检测Json代码中的错误,而且可以以视图形式显示json中的数据内容,很是方便。本文将介绍TouchJson、 SBJson 、JSONKit 和
2013-06-24 23:19:01 745
原创 ios 性能优化
XIB和storyboard的区别:使得UIImage的大小和UIImageView的大小相匹配:内存警告发生时系统做的操作:设置背景颜色的方法的不同之处:
2013-05-28 15:59:52 862
原创 TableView 性能优化
1.提高tableview的流畅性主要是从两方面着手:提高cell的渲染速度以及展示速度。(可以用CoreAnimation这个工具对每秒渲染的帧数来测量),最理想的测量结果是60fps,通常的渲染速度是55-60fps。另一方面减少cell的准备时间也能很好的提高tableview滑动的流畅性。根据测量结果没准备一个cell需要消耗10毫秒左右的时间。所以我们要想法降低准时.在使用[UIImag
2013-05-28 11:19:32 1342
转载 layoutSubviews何时调用的问题
layoutSubviews何时调用的问题,这个方法是当你需要在调整subview的大小的时候需要重写(我这个翻译不严谨,以下是原文:You should override this method only if the autoresizing behaviors of the subviews do not offer the behavior you want.),但有时候经常指望它被调用的
2013-05-24 15:15:36 693
原创 在view上响应手势和touch事件
1.touch事件的传递是从上往下传递。如果子类截获了touch事件父类不会在响应touch事件,但是在子类的touchbegin接口中加入[super touchbegin。。。。]则父类就能响应子类的touch事件。2.怎么让touch和手势同时存在一个view中?一般情况下,手势发生的时候先调用代理中shouldReceiveTouch:方法后执行touch事件。目的是询问deleg
2013-05-24 10:53:57 2101
原创 写给自己的忠告:
1、变化是软件开发中最常见的事情,要学着接受这个事实。一种好的做法就是是自己的代码模块化、这样在未来需求改变的时候能够容易的进行更改。2、经常看看自己的代码,相信自己可以做的更好,立即采取行动并进行重构,你等的事件越长,代码维护就越艰难。3、去掉死代码和注释掉的代码。什么是完美?完美就是没有东西需要补充的时候,不是没有东西需要去掉的时候。4、没有人是完美的,每人都会犯错误,犯错学习的过
2013-05-14 17:23:40 923
原创 iOS 实现在后台播放音乐
iOS实现在后台播放音乐:iOS 4之后就支持后台播放音频了,只需要下面两步就可以实现后台播放音频操作了1.在Info.plist中,添加“Required background modes”键,其值设置是“app plays audio”2.在播放器播放音乐的代码所在处,添加如下两段代码(当然,前提是已经添加了AVFoundation框架):1
2013-05-13 15:17:12 1584
原创 把图片转化为灰度图
23456789101112131415-(UIImage*)getGrayImage:(UIImage*)sourceImage{ intwidth = sourceImage.size.width; inth
2013-05-13 15:07:24 2545
原创 Restful 互联网软件架构
优点:结构清晰、符合标准、易于理解、扩展方便。REST 即:Representational State Transfer 的缩写。简单的翻译为:表现层状态转化。如果一个架构符合REST原则,就称它为RESTful架构。在REST的名称“表现层状态转化”中,表现层其实指的就是“资源”的“表现层”。所谓资源,就是网络上的一个实体,或者说是网络上个一个具体信息。它可以是一段文本、一张图片、
2013-05-13 13:13:37 1086
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人