自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 iOS 的RunLoop初识

想多了解下iOS的运行机制,所以搜了搜runloop的资料看看,发现看了好几篇都没有看懂这个runloop用来干嘛的。说到runloop是用来做什么的,只有一句话:下来是Run Loop的使用场合:1. 使用port或是自定义的input source来和其他线程进行通信2. 在线程(非主线程)中使用timer3. 使用 performSelector…...

2014-08-18 15:14:00 109

转载 ffmpeg的timeBase的属性解释,用于计算每一帧的时间

FFMPEG的很多结构中有AVRational time_base;这样的一个成员,它是AVRational结构的typedef struct AVRational{ int num; ///< numerator int den; ///< denominator} AVRational;AVRational这个结构标识一...

2014-08-17 11:16:00 279

转载 FFMPEG解码流程

FFMPEG解码流程:1. 注册所有容器格式和CODEC:av_register_all()2. 打开文件:av_open_input_file()3. 从文件中提取流信息:av_find_stream_info()4. 穷举所有的流,查找其中种类为CODEC_TYPE_VIDEO...

2014-08-15 14:03:00 128

转载 iOS 获取屏幕截图和缩放、裁剪图片

1、截图:-(UIImage *)screenImageWithSize:(CGSize )imgSize{ UIGraphicsBeginImageContext(imgSize); CGContextRef context = UIGraphicsGetCurrentContext(); AppDelegate * app = (App...

2014-08-14 10:59:00 235

转载 iOS上使用Quartz 2D绘制简单图形

绘制图形是通过重载UIView的- (void)drawRect:(CGRect)rect方法来实现的,所以首先需要一个继承自UIView的类,然后重写这个类的- (void)drawRect:(CGRect)rect方法。当我们使用这个类的对象时,view显示时回调自身的drawRect方法,从而把我们会绘制在view上的东西呈现出来。drawRect方法只有一个C...

2014-08-13 20:00:00 104

转载 关于OC中的僵尸指针(野指针)

涉及到内存管理问题的都是类类型的变量,而在OC中我们操纵这些对象都是通过操纵指向他们的指针来完成的,一致很多时候会忽略指针存在。比如定义UIView * view = [[UIView alloc]init];然后我们会使用view这个指针来做许多的操作。而由指针带来的一个性质是,当view == nil的时候,是指view这个指针没有指向任何地方,不能代表vi...

2014-08-13 09:34:00 171

转载 我理解的objective-C内存管理

我开始学习iOS的时候,已经有ARC这个东西了,所以一开始就是在ARC的环境下学习,虽然对于内存管理有了解,但并没认真去处理这方面的问题。工作中的项目是以前开始开发,使用的是非ARC,而且项目已经初步成型,不好改成ARC,所以我又回头去研究内存管理。开始时很晕,不知那些地方改retain、那些地方该release,不过后来清楚了 许多,而且感觉挺喜欢这些东西,感觉对于程序...

2014-08-12 22:34:00 80

转载 使用Xcode5构建非ARC项目以及单独在某个文件上使用非ARC

1、XCode5之后,建项目,直接ARC了,如何构建非ARC的项目呢? 正常构建项目,项目构建了之后,选择项目->TARGETS->Build Settings,然后搜索Automatic Reference Counting,就可以找到那一项配置了,将它选为NO,项目就会使用非ARC编译。 2、如果整个项目是ARC编译,但是希望某几个文...

2014-08-12 22:30:00 72

转载 NSlocale的使用

本地化封装了关于语言,文化以及技术约定和规范的信息。用于提供于用户所处地域相关的定制化信息和首选项信息的设置。通过获取用户的本地化信息设置,我们可以为用户提供更加友好人性化的界面设置,包括更改应用程序的界面的语言,货币类型,数字,日期格式的格式化,提供正确的地理位置显示等等。IOS内置为应用程序的开发提供了很好的本地化机制,良好的本地化意味着应用程序可以为更多的用户提供服务。...

2014-08-12 17:12:00 71

转载 AES128、AES256加密 在iOS上实现

算法具体实现没有研究,使用关键是要保证加密和解密能够匹配上,而且要app和后台匹配上,才能够使用加密后的数据通信。 1、AES128: AES128是需要一个初始化向量iv的,和256不一样。//加密- (NSData *)AES128EncryptWithKey:(NSString *)key iv:(NSString *)iv{...

2014-08-12 16:13:00 145

转载 iOS中单例类的构建

单例类,指在项目中某个类只有一个实例对象可以被外界访问到。最初的应用是在项目中构建一个数据库的管理类,因为多个界面会较频繁的访问到数据库,如果某一个地方进行了操作更新了数据,跳转到另一个页面的时候访问,如果不使用单例,那么就需要把数据传过去,这样在需求数据的页面多了之后就很乱。如果使用单例,就会有一个整个项目都能访问到的对象,而且任何时候做出修改,在其他地方访问都是已修改...

2014-08-12 14:19:00 92

转载 iOS上的http请求:get、post以及同步、异步

网上有个公开的天气接口:天气,点进其中的getSupportCityDataset接口,用这个接口为例写一下iOS上的HTTP请求的写法。 这里面提供了get、post请求的格式要求。 1、get:<span style="font-size:14px;">NSString * URLString = @"http://we...

2014-08-12 09:09:00 219

转载 NSString处理

1、NSString拆分: 子字符串,即截取一段字符串:NSString * str = @"12345678"; NSRange range = NSMakeRange(3, 4); NSString * subStr1 = [str substringWithRange:range];//按range的范围截取 NSString ...

2014-08-11 20:46:00 80

转载 关于iOS上使用ffmpeg的编译配置

使用ffmpeg进行音视频开发,首先编译需要把ffmpeg的源码编译成静态库,编译不是大问题,关键问题是编译的时候的各种配置该怎么设置的问题。之前在网上搜索学习,这篇文章不错:iOS: FFmpeg编译和使用问题总结。有些文章给出编译的整个命令,有的给脚本链接,但是都有一些问题,因为ffmpeg版本更新了、iOS版本更新了(我下的是ffmpeg2.3)。最后东拼西凑...

2014-08-11 16:16:00 130

转载 iOS 使用AVAudioRecorder实现音频的录制

和AVAudioPlayer类似,AVAudioRecorder也是AVFoundtion框架的,而且在结构、属性上也挺相似。 1、构建:使用方法:- (id)initWithURL:(NSURL *)url settings:(NSDictionary *)settings error:(NSError **)outError 参数url是录制...

2014-08-10 18:32:00 265

转载 iOS 简单实现音频的播放

1、短音播放: 短音是指播放时长小于30秒的声音,而且使用短音播放不能同时播放多个,调用播放方法立即播放,几乎没有可调控的属性,除了播放完会有一个回调。在app的提示音、动作音可以使用这个方法,简单方便。 首先,使用短音的文件路径构建一个SystemSoundID对象:SystemSoundID _soundID;NSString * ...

2014-08-09 21:46:00 127

转载 NSSlider实现捕捉滑动开始时刻和结束时刻的方法,以及进行点击跳转

NSSlider是iOS原生的一个进度控制控件,一般使用的时候是通过给这个slider添加响应方法:<span style="font-size:18px;">[self.progressSlider addTarget:self action:@selector(adjustMusicProgress:) forControlEvents:(UIControl...

2014-08-09 09:18:00 260

转载 ios怎么把文件夹放进.app文件包(mainBundle)里面

iOS app资源可以放在沙盒的Documents目录下,但是有一些资源是项目运行中需要的,例如一些图片、一些操作时的特定音效的短音文件,这些需要放在.app文件包里面。查看了MAC里面一些应用程序的包内容,基本都有一个resource文件夹,音频、图片等资源文件都放在这个文件夹里面,便于管理读取,觉得很不错,可是查看了自己的app包内容发现资源文件是直接放在包目录下的,没...

2014-08-08 10:19:00 642

转载 KVO机制的应用

KVO即Key-value observing,键值观察机制。文档里面对于KVO的介绍的第一句话是: “Key-value observing is a mechanism that enables an object to be notified directly when a property of another object changes.”告诉我们,KV...

2014-08-07 15:41:00 72

转载 Xcode5 使用gitHub上库的SSH地址建立Repository,以及如何通过Xcode把代码传到GitHub

最近在学IOS开发,想把学习代码放到github上,以后用得到的时候可以上来查看。于是上网搜资料,发现xcode内置了提交代码的工具,不知道我搜索的方式是否正确,搜了好多也没搜到方法,终于在某一本电子书中找到了方法,这里记录下。1.在macos中打开终端, 敲入cd~/.ssh,如果提示没有该目录,创建一下 (mkdir .ssh);2.敲入ls...

2014-08-07 14:22:00 119

转载 NSArray的sorting排序

NSArray的排序用的挺多的,但是方法挺简单的,大概是因为ios方法本身封装好了,不需我们考虑算法的问题,只管调用就好了。1、基本的3种:1)-(NSArray *)sortedArrayUsingFunction:(NSInteger (*)(id, id, void *))comparator context:(void *)context ;...

2014-08-07 09:45:00 94

转载 为什么对视频进行压缩

要实现实时视频通信,除了需比与其它数据通信(语音,非实时视频,数据)更高的带宽外,还需要对视频信号进行较大的压缩。网络带宽正随着无线接入技术和有线传输技术的发展不断提升,但即使这样,如果不对视频信号进行必要的压缩,目前用户的接入带宽也是远远无法满足视频通信的要求。假设用户接入网带宽为20M(在中国,有这种接入网带宽的用户很少吧?),如果用户想进行实时的视频...

2014-08-07 08:57:00 425

转载 在github上删除一个库repository

如何删除自己创建的一个项目,我浏览了一下github网站,确实不太容易找到删除功能。这里介绍一下啊如何在github上删除一个repository一:首先点击进入你要删除的repository,如下图,点击setting二:将网页拉到下方,找到Delete this repository按钮,点击。三:在弹出的对话框中输入你的reposito...

2014-08-07 08:49:00 89

转载 关于谓词NSPredicate的使用

关于NSPredicate的使用,网上已经有很多文章,有一些很不错,之前看的就是这篇:点击打开链接。根据自己的使用总结下: 我主要是用在对数组的筛选上,相对循环数组然后自己去匹配,要简洁得多。而且对于数组里面嵌套字典或对象的结构很好。 1、NSPredicate的构建: NSPredicate * filterPredicate = [N...

2014-08-05 09:14:00 65

转载 tableView的sectionHeader粘滞效果和点击展开效果

1、sectionHeader粘滞效果是指在tableView向上滑动的时候,当section的header碰到了tableView的顶部的时候,本来应该会继续向上滑从而从视野中退出,但是却留在了tableView的顶部,知道下一个Section的到达然后替代它。 这种效果的实现很简单,只需要tableView的delegate对象实现了UITableVi...

2014-08-04 09:26:00 175

转载 iOS 动画实现和理解

1、首先从整体角度说一下:从实现动画的方法上来说,可以分为2个层次,第一个UIView方法,第二个是CGAffineTransform方法,第二个是coreAnimation的方法,他们分别属于UIKit、QuartzCore框架。动画的方法很多,不先分清是属于哪个层次或框架的方法容易搞混,而且有些长得也很像,比如CGAffineTransform和CATransition...

2014-08-04 08:54:00 85

转载 开始我的编程之旅

不管我以前过的生活、做的事和计算机这一行有多远,也不管我其间走了多少弯路,最终我走到了这条道上。刚开始工作,还有很多不稳定因素,也不能肯定的讲我就铁定进了这一行。只是对于我自己来说,我确实没有什么可以拿的出手的技能,那些我自认为很碉堡的能力都是意识上的,我需要一个实际的技能来给自己博得更多的机会。不管怎样,我会在这一行好好学习、好好工作,去了解这个庞大而又精密的人造规则体系...

2014-03-15 16:53:00 57

空空如也

空空如也

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

TA关注的人

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