自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(37)
  • 资源 (1)
  • 收藏
  • 关注

原创 ios9关于https网络请求

控制台打印:Application Transport Security has blocked a cleartext HTTP (http://) resource load since it is insecure. Temporary exceptions can be configured via your app's Info.plist file.

2015-09-18 14:57:02 453

原创 UIViewController界面布局的一些坑

self.automaticallyAdjustsScrollViewInsets =NO;//当我们一个界面有多个tableView之类的,要将它设置为NO,完全由自己手动来布局,就不会错乱了.    self.extendedLayoutIncludesOpaqueBars =YES;//在navigationBar不透明的情况下(0,0)点是否延伸到navigationBar的底

2015-07-11 15:58:18 2024

原创 传个字典给Model,自动给Model中的属性赋值

首先创建model,model中得属性必须和字典中的key值一样,然后再model的.m文件中写- (void)setValue:(id)value forUndefinedKey:(NSString *)key;这个方法。当用的时候,先创建model的对象,然后调用model对象的- (void)setValuesForKeysWithDictionary:(NSDictionary

2015-03-26 17:31:39 614

原创 weakSelf的宏定义及用法

在程序中我们经常用到Block,但写weak self 时会比较繁琐,这里介绍一个宏定义:#define WS(weakSelf)  __weak __typeof(&*self)weakSelf = self;用法如下:WS(weakself)[self.tableView addHeaderWithCallback:^{[weakself requestMemb

2015-03-23 13:09:38 5075

原创 Runtime基础原理

C和OC中调用[object foo]方法得区别:在很多语言,比如 C ,调用一个方法其实就是跳到内存中的某一点并开始执行一段代码。没有任何动态的特性,因为这在编译时就决定好了。而在 Objective-C 中,[object foo] 语法并不会立即执行 foo 这个方法的代码。它是在运行时给 object 发送一条叫 foo 的消息。这个消息,也许会由 object 来处理,也许会被转

2015-03-17 17:12:12 424

原创 GCD产生死锁

- (void)viewDidLoad{ [super viewDidLoad];dispatch_async(dispatch_get_global_queue(0, 0), ^{ NSLog(@"=================1"); dispatch_sync(dispatch_get_main_queue(), ^{ NSLog(@"====

2015-03-15 23:16:02 405

原创 安装CocoaPods及安装Ruby环境

在安装CocoaPods之前,首先要在本地安装好Ruby环境步骤1-安装 RVMRVM (Ruby Version manager)。    $ curl -L https://get.rvm.io | bash -s stable期间可能会问你sudo管理员密码,以及自动通过homebrew安装依赖包,等待一段时间后就可以成功安装好 RVM。然后,载入 RVM 环

2015-03-11 13:41:39 413

原创 Socket编程

将CocoaAsyncSocket项目中的.h和.m文件拖拽到自己项目的Classes目录中添加framework:CFNetwork

2015-03-11 13:32:10 362

原创 自定义UIViewController转场、GPUImage

先发个链接、上个图,占个坑,敬请期待参考文献请点击点击打开链接高级iOS开发技术交流群:415239068,欢迎大家加入

2015-03-11 13:29:22 343

原创 自动打包工具--xctool

前面介绍了HomeBrew的安装现在通过命令:sudo brew install xctool完成xctool的安装xctool是FaceBook开源的一个命令行工具,用来替代苹果的xcodebuild工具。参数:-workspace 需要打包的workspace 后面接的文件一定要是.xcworkspace 结尾的-scheme 需要打包的Scheme

2015-03-06 14:29:42 858

原创 HomeBrew套件管理器安装使用

官网安装命令:ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"如果已经安装想重新安装,则在安装之前先调用此命令:rm -rf /usr/local/Cellar /usr/local/.git && brew cleanup当通过Home

2015-03-06 14:14:43 553

原创 runtime动态添加属性

使用运行时库,必须要先引入 objc/runtime.h看一个类别和动态添加属性的例子UILabel+Associate.h#import @interface UILabel (Associate)- (void) setFlashColor:(UIColor *) flashColor;- (UIColor *) getFlashColor;@end

2015-03-03 14:30:40 653

原创 GCD、线程间通信、Runloop - iOS开发

Grand Central Dispatch (GCD)是Apple开发的一个多核编程的解决方法。1)运行在主线程的Main queue,通过dispatch_get_main_queue获取。dispatch queue分成以下三种:

2014-06-16 11:08:50 640

原创 Framework制作 - iOS开发

首先创建一个工程,然后删除所有的文件(1)建立FrameworkHome(选择静态库模版)a、选择工程模版b、清理工程无用文件( Target 、 FrameworkHome、 FrameworkHomeTests)删除前:删除后:c、删除旧目标对应的编译设置点击Manage Scheme点击左下角 “ -

2014-04-30 11:42:07 439

转载 创建PDF文件 - iOS开发

点击打开链接

2014-04-15 15:53:48 472

原创 单例的生成 - iOS开发

+ (RoboPDFModel *)instance {#ifdef DEBUGXNSLog(@"%s", __FUNCTION__);#endifstatic RoboPDFModel *instance = nil;static dispatch_once_t onceToken;dispatch_once(&onceToken, ^{instance

2014-04-11 14:59:03 483

原创 Ad-Hoc的用途 - iOS开发

如何在未越狱iOS设备上安装IPA 2013-04-05 12:52:10| 分类: Apple |举报 |字号 订阅Ad-Hoc 是苹果公司是为应用发布提供的一种发布前测试方法,所要安装的设备无需越狱。 其用途在于:如果你开发了一款App, 想在发布之前,让周围人帮忙测试一下。 这时,你需要得到测试人的设备的 UDID, 生成一个 Ad-Hoc 应用,并将该应用和对应的 mobile

2014-04-11 14:50:33 895

原创 assert NSAssert - iOS开发

ASSERT(条件表达式);是一个宏,主要作用是当条件表达式值为0(假)时,将产生一个Assert fail出错警告,一般用于在程序中检察传入参数值是否符合要求。

2014-04-11 12:28:52 407

原创 Keychain介绍、使用Snoop-it分析Keychain读写、使用Keychain Dumper导出Keychain中的数据 - iOS开发

根据苹果的介绍,iOS设备中的Keychain是一个安全的存储容器,可以用来为不同应用保存敏感信息比如用户名,密码,网络密码,认证令牌。苹果自己用keychain来保存Wi-Fi网络密码,VPN凭证等等。它是一个sqlite数据库

2014-04-11 10:58:17 1738

原创 显示隐藏文件或不显示隐藏文件 - iOS开发

苹果Mac OS X操作系统下,隐藏文件是否显示有很多种设置方法,最简单的要算在Mac终端输入命令。显示/隐藏Mac隐藏文件命令如下(注意其中的空格并且区分大小写):显示Mac隐藏文件的命令:defaults write com.apple.finder AppleShowAllFiles -bool true隐藏Mac隐藏文件的命令:defaults write com.apple.

2014-04-09 15:45:39 563

原创 CoreGraphics之CGContext绘图 - iOS开发

0  CGContextRef context = UIGraphicsGetCurrentContext(); 设置上下文
1 CGContextMoveToPoint 开始画线
2 CGContextAddLineToPoint 画直线

4 CGContextAddEllipseInRect 画一椭圆
4 CGContextSetLineCap 设置线条终点形状
4 CGContextSet

2014-04-09 11:38:02 457

原创 本地通知和推送通知 - iOS开发

通知的类型:1.横幅(banner)        横幅通知是在iOS5中出现的新特性,是显示在屏幕顶部的横条,几秒钟后会自动消失。一条横幅通知会显示程序的小图标(低分屏下显示29×29的图标,高分屏显示58×58的图标),程序的名字和通知的内容。小图标可以帮助用户一眼就看清楚是哪一个应用程序在提醒他们。

2014-04-03 10:50:30 728

原创 常见文件操作 - iOS开发

1、常见的NSFileManager文件方法-(NSData *)contentsAtPath:path  //从一个文件读取数据-(BOOL)createFileAtPath: path contents:(NSData *)data attributes:attr  //向一个文件写入数据-(BOOL)removeItemAtPath:path error:err  /

2014-04-01 09:57:14 365

原创 .bundle文件 - iOS开发

在ios开发中为了方便管理资源文件,可以使用bundle的方式来进行管理,比如kkgridview里就是把所需的图片文件全部放在一个bundle来管理的 .切记目前iOS中只允许使用bundle管理资源文件和国际化信息,不支持代码的打包。在xcode中只能够创建setting bundle,会默认创建一些配置文件,在xcode中无法直接删除,这也许不是我们需要的。那么如何使

2014-03-31 18:04:54 474

原创 PhoneGap - iOS开发

1.  下载最新的PhoneGap:点击打开链接2.  下载后解压,打开终端,进入/lib/ios/bin目录【cd + bin目录(直接拖拽bin目录到终端)】   2-1.  修改bin目录下所有文件添加777权限,chmod 777 *   2-2.  ./create /Users/jiagaoyang/Documents/Workspace/Xcode/iphone  com

2014-03-31 17:47:58 381

原创 FFmpeg基础 - iOS开发

FFmpeg概述:        开源的跨平台的视频和音频流方案,提供了录制、转换以及流化音视频的完整解决方案,包含先进的音频/视频编解码库libavcodec,里面提供了许多API给我们使用,但仍有一些问题需要我们自己解决,如同步问题。FFmpeg编译后的一些文件:FFplay:真正的播放器,像vlc、mplayer等,有图形界面的FFmpeg:可以理解为一种工具,利用ffmpe

2014-03-31 14:49:16 558

原创 FFmpeg - 编解码、流文件、解复用、容器、包、帧 - iOS开发

codec:表示编解码,CODEC = Code + Decode使用codec的原因:由于视频文件很大,所以需要进行压缩(code)它,再存储起来,要播放的时候进行解压缩(decode),这个就是牺牲事件来换很大的空间。编码器作用: 原视频文件(很大) --> 编码器 --> 编码后的视频文件解码器作用: 编码后视频文件(相对小) -> 解码器 --> 原视频文件(大)

2014-03-31 14:16:38 1027

原创 UIScrollView中的contentView无限循环 - iOS开发

实现思路:1.scrollView的contentSize是3倍的scrollView宽度大小。2.第一次加载UIScrollView时,UIScrollView已经做了一次便宜,显示的是第二个contentView。3.通过- (void)scrollViewDidScroll:(UIScrollView *)scrollView方法,实时通过- (void)replaceObjec

2014-03-28 16:37:15 464

原创 实现毛玻璃效果 - iOS开发

实现思路:先截屏,然后再对截得屏实现毛玻璃效果1.截取屏幕- (UIImage *)getScreenShot{ UIGraphicsBeginImageContext(self.view.bounds.size); [self.view.layer renderInContext:UIGraphicsGetCurrentContext()]; UIImage

2014-03-28 16:03:06 518

原创 UICollectionView使用 - iOS开发

实现UICollectionView中cell的批量添加、批量删除和位置移动工程目录结构:关键代码如下:cell之间的位置交换:- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event;- (void)touchesMoved:(NSSet *)touches withEvent:(

2014-03-28 15:57:01 498

原创 国际化 - iOS开发

1.2.3.4.5.6.7.8.

2014-03-28 15:15:50 373

原创 关联 - iOS

使用关联,我们可以不用修改类的定义而为其对象增加存储空间。这在我们无法访问到类的源码的时候或者是考虑到二进制兼容性的时候是非常有用。    关联是基于关键字的,因此,我们可以为任何对象增加任意多的关联,每个都使用不同的关键字即可。关联是可以保证被关联的对象在关联对象的整个生命周期都是可用的(在垃圾自动回收环境下也不会导致资源不可回收)。1.创建关联:    创建关联要使用到Object

2014-03-21 14:38:35 476

原创 __bridge,__bridge_retained和__bridge_transfer三个转换关键字 - iOS开发

最近碰到了CFObject和NSObject转换的问题,由于ARC不能管理Core Foundation Object的生命周期,所以在Core Foundation和ARC之间,我们需要使用到__bridge,__bridge_retained和__bridge_transfer三个转换关键字。根据苹果官方的文档(https://developer.apple.com/library/i

2014-03-21 14:20:05 711

原创 Core Data-iOS

一、概念1.Core Data 是数据持久化存储的最佳方式2.数据最终的存储类型可以是:SQLite数据库,XML,二进制,内存里,或自定义数据类型3.好处:能够合理管理内存,避免使用sql的麻烦,高效4.构成:(1)NSManagedObjectContext(被管理的数据上下文)操作实际内容(操作持久层)作用:插入数据,查询数据,删除数据(2)NSManaged

2014-03-06 12:47:32 489

原创 线程、进程概述-iOS

有些程序是一条直线,起点到终点;有些程序是一个圆,不断循环,直到将它切断。(1).直线的如简单的Hello World,运行打印完,它的生命周期便结束了,像昙花一现那样;(2).圆如操作系统,一直运行直到你关机。 一个运行着的程序就是一个进程或者叫做一个任务,一个进程至少包含一个线程,线程就是程序的执行流。Mac和iOS中的程序启动,创建好一个进程的同时, 一个线程便开始运行,这个线程

2014-02-26 16:46:53 609

原创 断点续传-iOS

所谓断点续传其实就是在上一次下载断开的位置开始继续下载,所以在客户端浏览器传给Web服务器的时候要多加一条信息--从哪里开始。HTTP协议中,可以在请求报文头中加入Range段,来表示客户机希望从何处继续下载。这是一个普通的下载请求:[html] view plaincopyGET /test.txt HTTP/1.1  Acce

2014-02-26 16:07:11 453

原创 响应者链-iOS

对于IOS设备用户来说,他们操作设备的方式主要有三种:触摸屏幕、晃动设备、通过遥控设施控制设备。对应的事件类型有以下三种:1、触屏事件(Touch Event)2、运动事件(Motion Event)3、远端控制事件(Remote-Control Event)先来说说响应者对象(Responder Object),顾名思义,指的是有响应和处理事件能力的对象。

2014-02-26 15:59:55 482

线程锁实现

线程锁的实现,异步开发时,确保资源的安全性

2014-08-08

空空如也

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

TA关注的人

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