自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(42)
  • 资源 (2)
  • 收藏
  • 关注

原创 Cocoapods 使用 遇到的问题

今个在公司重新安装cocoapods 安装好后使用出现问题,为此纠结了好久,特纪录一下下面图可以看出,使用cocoapods 出错,报红 解决方法: 在终端中输入 sudo xcodebuild -license 出来,出现一系列协议,按空格键(注意 )到最后,输入agree (注意 agree 输入之前不能有空格),正确输入之后有如下显示,表示成功。

2015-12-28 16:23:35 421

原创 iOS——KVO与KCO

分组数

2015-12-07 18:00:20 526

原创 iOS——属性的属性

属性关键字 补充 关于nonatomic,如果我们能确定不需要多线程访问时,强烈推荐使用这个关键字,因为atomic对于性能的损失相对较大。 nonatomic 决定比编译器生成的setter、getter 方法是否是原子操作。 如果是类的delegate,推荐使用assign关键字,原因是避免了retain的死循环造成的对象无法真正的释放strong 、weak

2015-12-03 15:16:04 779

原创 iOS —— ARC、MRC 下dealloc 方法存在的意义

MRC下dealloc 方法其实在MRC中dealloc方法存在的主要意义是为了释放自身的实例变量,移除观察者,停止timer,移除通知,代理置空等。注意MRC 下dealoc 方法一定要在最后写[super dealloc];ARC下 系统会帮助我们释放该对象所包含的实例变量,但是有些对象还是需要们自己去释放的(比如Core Foundation框架下的一些对象),另外通知中观察者

2015-12-03 13:57:58 3260

原创 iOS —— 简述OC 的内存管理机制

关于OC 的内存管理有很多模糊的地方,下面我们一一说起 首先概念性问题概念为什么进行内存管理 由于移动设备的内存极其有限,所以每个APP所占的内存也是有限制的,当app所占用的内存较多时,系统就会发出内存警告,这时需要回收一些不需要再继续使用的内存空间,比如回收一些不再使用的对象和变量等。内存管理类型: OC 类型 基本类型和C语言的类型:如: int,short

2015-12-03 13:53:57 3514

原创 iOS——延展、类目、代理协议

类目应用 对现有的类添加扩展,如:系统中的类,在类目中添加的方法会被子类继承,而且运行时跟其他的方法没有区别。 作为子类的替代方式,不需要定义和使用一个子类,可以通过类目直接向已有的类目里添加方法。 对类中的方法进行归类,利用catigopry把一个庞大的类划分为小块来分别进行开发,从而更好地对类中的方法进行更新和维护。 通过类目添加的方法会成为原始类 的一部分注

2015-12-03 11:06:50 498

原创 iOS——@synthesize 与@dynamic 的不同

一、SDK中描述是在声明property的时候,有2个选择 1:通过@synthesize 指令告诉编译器在编译期间产生getter/setter方法。 2:通过@dynamic指令,告诉编译器属性的setter与getter 方法由用户自己实现。 假如一个属性被声明为@dynamic str, 然后没有提供setter和getter方法,编译的时候没有问题,但是当程序运行到 instacn

2015-12-03 10:11:10 435

原创 iOS——关于应用程序生命周期问题

开发应用程序都要了解其生命周期,今天我们接触一下iOS应用程序的生命周期。Main 函数入口 应用程序启动的时候会执行main 函数,而main函数里面执行了UIApplicationMain函数。UIApplicationMain函数执行完主要做了以下几个操作: (1)创建应用程序UIApplication 对象 (2)创建了应用程序代理对象。默认的应用程序代理对象是AppDelegate。

2015-12-01 16:54:56 592

原创 iOS ——Animation 中的事务CATransaction

理解 CALayer的“Animatable”属性的设置都应该属于某一个CATransaction事务,CATransaction的作用是保证多个“Animatable”的变化同时进行。也就是说CALayer的属性修改需要依赖CATransaction。 CATransaction 事务类,可以对多个layer的属性同时进行修改.它分隐式事务,和显式事务. [隐式]在某次R

2015-11-29 22:41:23 3303

原创 iOS———实现抖动效果

实现View 的抖动效果,直接调用下面方法#pragma mark 抖动动画- (void)shakeAnimationForView:(UIView *) view{ // 获取到当前的View CALayer *viewLayer = view.layer; // 获取当前View的位置 CGPoint position = viewLayer.positio

2015-11-29 22:04:59 1395

原创 iOS —— CALayer 层的属性及隐式动画

CALayer 进一步理解 CALayer包含在QuartzCore框架中,这是一个跨平台的框架,既可以用在iOS中又可以用在Mac OS X中。在使用Core Animation开发动画的本质就是将CALayer中的内容转化为位图从而供硬件操作,所以要熟练掌握动画操作必须先来熟悉CALayer。 当利用drawRect:方法绘图的本质就是绘制到了UIView的layer(属性)中,在

2015-11-29 21:46:55 827

转载 iOS ——主要框架介绍

最近网上看到不错的关于iOS 主要框架的总结, 在这里贴出来大家一起学习。 http://blog.csdn.net/yuhuangc/article/details/7575519框架 框架是一个目录,这个目录包含了共享库,访问共享库里代码的头文件,和其它的图片和声音的资源文件。一个共享库定义的方法或函数可以被应用程序调用。 IOS提供了很多你可以在应用程序里调用的框架。要使用一个框架,需

2015-11-29 21:14:19 383

原创 iOS —— CALayer 创建图层

添加一个图层 添加图层的步骤: 1.创建layer 2.设置layer的属性(设置了颜色,bounds才能显示出来) 3.将layer添加到界面上(控制器view的layer上) 代码: 添加一个显示图片的图层#import "CALayerViewController"@interface CALayerViewController ()@end@implementa

2015-11-29 21:13:25 322

原创 iOS—— CALayer 简介

简单介绍 在iOS中,你能看得见摸得着的东西基本上都是UIView,比如一个按钮、一个文本标签、一个文本输入框、一个图标等等,这些都是UIView。 其实UIView之所以能显示在屏幕上,完全是因为它内部的一个图层,在创建UIView对象时,UIView内部会自动创建一个图层(即CALayer对象),通过UIView的layer属性可以访问这个层 @property(nonatom

2015-11-29 21:02:20 312

原创 iOS——Core Graphic框架学习笔记

.Core Graphic是什么? •Core Graphic框架是一组基于C的API,可以用于一切绘图操作,这个框架的重要性,仅次于UIKit和Foundation 6.Core Graphic有什么用? •当使用UIKit创建按钮、标签或者其他UIView的子类时,UIKit会用Core Graphics将这些元素绘制在屏幕上。此外,UIEvent(UIKit中的事件处理类)也会使用Co

2015-11-29 20:15:33 603

原创 iOS ——逐帧动画

三、补充1.UIImageView的帧动画UIImageView可以让一系列的图片在特定的时间内按顺序显示相关属性解析:animationImages:要显示的图片(一个装着UIImage的NSArray)animationDuration:完整地显示一次animationImages中的所有图片所需的时间animationRepeatCount:动画的执行次数(默认为0,

2015-11-29 19:59:27 4284

原创 iOS ——QuartzCore核心动画框架

核心动画框架 使用核心动画需要引入的框架:#import CALayer: CoreAnimation CALayer就是UIView上的图层,很多的CALayer组成了UIView。 CALayer与UIView是两个完全不同的类 UIView动画就是简单动画,可以实现改变,偏移,形变,翻转,旋转,翻页 QuartzCore.framework:CAAnimation:

2015-11-29 19:58:24 3506

原创 iOS—— UIView 动画

UIView动画UIKit直接将动画集成到UIView类中,当内部的一些属性发生改变时,UIView将为这些改变提供动画支持,执行动画所需要的工作由UIView类自动完成,但仍要在希望执行动画时通知视图,为此需要将改变属性的代码放在[UIView beginAnimations:nil context:nil]和[UIView commitAnimations]之间UIView本身对于基本动画和

2015-11-29 13:48:15 538

原创 iOS—— 秒学远程推送

一. 引言 iOS 中消息推送两种方式,分别是本地推送、远程推送。 这里主要将远程推送与配置过程。二、远程推送机制的原理 这张图很清晰,大致意思是:你的应用服务端将消息发送到apple 的APNS服务器,APNS服务器将消息推送到指定的IPhone,最后由IPhone负责将消息推送至你的APP。虽然中间加了APNS,感觉好像增加了负担,其实恰恰相反, 因为apple 对推送的统一管理,使我

2015-10-19 22:35:23 695 1

原创 iOS——多线程编程详细解析

基本定义: 程序:由代码生成的可执行应用。(例如QQ.app) 进程:一个正在运行的程序可以看做是一个进程。 (例如:正在运行的QQ 就是一个进程),进程拥有独立运行所需要的全部资源。 线程: 程序中独立运行的代码段。(例如: 接收QQ 消息的代码) 一个进程是由一个或者多个线程组成。进程只负责资源的调度和分配,线程才是程序真正懂得执行单元,负责代码的执行。单线程 每个正在运行的程序(即进

2015-10-05 22:24:57 1060

原创 iOS—— 普通类型数据进行数据持久化

概论 所谓的持久化,就是将数据保存到硬盘中,使得在应用程序或机器重启后可以继续访问之前保存的数据。在iOS开发中,有很多数据持久化的方案,接下来我将尝试着介绍一下5种方案: plist文件(属性列表) preference(偏好设置) NSKeyedArchiver(归档) SQLite 3 CoreData沙盒: iOS程序默认情况下只能访问程

2015-09-27 21:03:14 507

原创 iOS ——KVO 监测Model 图片下载

前言 UItableView中 ableView:cellForRowAtIndexPath:会在重⽤用的时候,根据Model显示image或者placeholderImage。 如果tableView并未滑动,此时有图⽚片下载完毕,是不会⽴立即更新到 cell上的。 实现方法: 1.tableView:cellForRowAtIndexPath:中,为Model的image属性添加 观

2015-09-27 17:10:38 419

原创 iOS——KVO

一、概述KVO,即:Key-Value Observing,它提供一种机制,当指定的对象的属性被修改后,则对象就会接受到通知。简单的说就是每次指定的被观察的对象的属性被修改后,KVO就会自动通知相应的观察者了。 KVO其实也是“观察者”设计模式的一种应用。我的看法是,这种模式有利于两个类间的解耦合,尤其是对于 业务逻辑 M与视图控制 C 这两个功能的解耦合。KVO使⽤用步骤:

2015-09-27 16:46:41 439

原创 iOS——图片下载

真实开发中,网络返回的JSON 或者XML 数据中,通常不会直接包含图片,而是给出图片的URl。 因此:根据图片的URL 获取图片数据,以便UI显示。 1.创建一个request 2.建立urlConnection(获得请求数据NSData)。 3.得到请求到的数据NSdata(异步请求一般使用block 请求方法) 4.使用请求道的数据得到图片。( UIImage * image = [

2015-09-27 14:06:47 415

原创 iOS——GET POST 网络请求

1.HTTP协议,Hyper Text Transfer Protocol(超⽂文本传输协议)是 ⽤用于从万维⺴⽹网服务器传送超⽂文本到本地浏览器的传输协议,HTTP是 ⼀一个应⽤用层协议,由请求和响应构成,是⼀一个标准的客户端服务器模型。2.BS和CS的区别以及优缺点 : 1)C/S又称Client/Server或客户/服务器模式。服务器通常采用高性能的PC、工作站或小型机,并采用大型数据库系

2015-09-26 20:10:44 325

原创 iOS —— JSON 数据结构及其解析方式

JSON数据结构基本概念1.JSON:(和XML一样都是用来传数据的)轻量级的数据交换格式,正在逐步取代XML.2.JSON的应用场景:(数据量小,轻量级)移动开发中绝大多数还是使用JSON3.Javascript Object Notation ,由于JSON解析便捷、快速,并且相同数据用JSON编辑所占的内存更小,所以在iOS中我们我们使用JSON解析更加普遍。4.JSON文档有两种结构:对象

2015-09-26 17:09:58 535

原创 iOS ——XML数据结构及其两种解析数据的方式SAX 、DOM

1.解析的基本概念 所谓解析:从事先规定好的格式中提取数据 解析的前提:提前规定好格式、数据提供方按照格式提供数据、数据获取方则按照格式获取数据。 iOS 常见的解析:XML 解析、JSON 解析2.XML 基本概念 XML:Extensible Markup language(可扩展标记语⾔言)主流数据格式之 一,可以用来存储和传输数据。 XML 数据格式的功能:数据交换、内存管理

2015-09-26 16:09:58 1622

转载 Segue

由于最近才接触到IOS,苹果已经建议storyboard来搭建所有界面了,于是我也追随时尚,直接开始使用storyboard。(不料在涉及到页面跳转的时候,遇到的问题是:点击后没有任何反应)众所周知,在storyboard中,界面的跳转是通过segue来实现的,利用它,省去了方法内写入跳转的代码。一 视图跳转《StoryBoard下的视图跳转》我们知道:segue共有三种类型:

2015-09-17 21:21:25 720

转载 文章标题

1.创建视图控制器 当一个视图控制器被创建,并在屏幕上显示的时候。 代码的执行顺序 1、 alloc 创建对象,分配空间 2、init (initWithNibName) 初始化对象,初始化数据 3、loadView 从nib载入视图 ,通常这一步不需要去干涉。除非你没有使用

2015-09-16 21:34:30 220

原创 iOS开发中UITableView和UItableViewCell的几种形式

一、系统自己的UITableView样式有两种:1.UITableViewStylePlain:Plain样式的是方形的,充满你给的view.frame坐标。2.UITableViewStyleGrouped: Grouped样式主要是以圆角形显示。跟iphone自带的通讯录编辑页面类似。分组格式如果没有内容显示就没有边框二、系统自己的UITableViewCell样式有四种:1.UITa

2015-09-15 08:38:38 639

原创 iOS——UINavigationController

思维导图:页面跳转: 1.平级(切页) 2.覆盖{左右推,从下面推上去} UINavigationController 实现左右推 上下推:模式UINavigationController:导航控制器,是iOS中最常见的多视图控制器之一,它用来管理多个试图控制器。 导航控制器:管理控制器的控制器。 UINavigationController 继承于UIViewController,以

2015-09-08 22:07:03 394

原创 iOS——UIImageView的使用方法详细

// 初始化一个imageView self.imageView=[[UIImageView alloc]initWithFrame:CGRectMake(0, 40, 300, 400)];// _imageView.image=[UIImage imageNamed:@"image_0.tiff"]; //创建可变数组用来盛放所有图片 NSMutableArr

2015-09-06 21:29:01 1311

原创 iOS——UISlider的使用方法详细

UISlider 1)UISlider是iOS中的滑块控件。 2)通常⽤用于控制视频播放进度,控制⾳音量等。 3)它也是继承于UIControl,滑块提供了⼀一系列连续的值,滑块停在不同的位置,获取到滑块上的值也不同。// 注意:slide的高度可以随意设置,但是不能为0,0时有但不滑动。很小时超出范围无法操作,一般为40 self.slider=[[UISlider alloc

2015-09-06 20:28:21 1010

原创 Xcode引入外界文件时选Create groups 或 Create folder references的区别

一、使用Create groups 我们在项目中可以手动添加一个groups(右键点击选择New Group),但是手动添加的groups实际上并不会存在于项目的目录中,被添加进groups中的文件仍在位于它原来所在的位置,但从外部引入进来的groups并不会如此。groups一旦被创建或添加,都是以黄色文件夹的形式存在的,当你想要使用文件夹中的某个类的头文件时,你可以直接添加它的引用。因为grou

2015-09-06 19:54:48 2682

原创 iOS——UISegmentedControl 的用法

UISegmentedControl是iOS中的分段控件。 //Segmented 分段的、分割 每个segment都能被点击,相当于集成了若干个button。 通常我们会点击不同的segment来切换不同的view。 //分配间距方法,默认最长,每个都是最长的。 self.segmentedcontrol=[[UISegmentedControl alloc]initWithI

2015-09-06 19:27:13 1270

原创 UIWindow ,UIView

1.UIWindow**1.UI的窗口类,用于显示界面,一般一个应用至少有一个window 创建window 时,需要指定window 大小. 通常window 的大小(frame)与屏幕大小(UIScreen)大小一致 代码如下:self.window=[[UIWindow alloc]initWithFrame:[[UIScreen mainScreen ]bounds]];2.iOS中的

2015-09-05 15:17:43 357

转载 字号与尺码对照表

印刷文字有大、小的不同变化,排版及图象处理软件中汉字字体大小的计量,前主要采用印刷业专用的号数制和点数制。其尺寸规格以正方形的汉字为准(对于长或扁的变形字,则要用字的双向尺寸参数。) 号数制: 汉字大小定为七个号数等级——按,1号、2号、3号、4号、5号、6号、7号由大至小排列。在字号等级之间又增加一些字号,并取名为“小几号字”,如“小4号””、“小5号”等等。号数

2015-08-29 17:57:48 1955

原创 NSDate NSString 转换

1.NSDate ⽆无论你是哪个时区的时间,打印时总是打印对应的0时区时间(即格林尼治时间) // @interface NSDate : NSObject NSDate *nowDate=[NSDate date]; NSLog(@"%@",nowDate);2.. 本地timezZone 本地时区 // @interface NSTimeZone

2015-08-27 19:53:10 419

原创 静态动态数组

**静态数组NSArray初始化之后不能进行修改。只能读取!** NSArray *arr=[[NSArray alloc]init];// [arr addObject:@"we"]; // 出错// [arr removeObject:@"we"]; // 出错// [arr addObjectsFromArray:arr]; // 出

2015-08-22 21:30:58 538

转载 #import与@class区别

#import 与@class区别在于:1.#import会链入该头文件的所有信息,包括实例变量和方法;而@class只是告诉编译器,其后声明的名称是类的名称,至于这些类是如何定义的,不用考虑。2.在头文件中,一般不需要对被引入的类的内部进行操作,只是知道类的名称就可以了,所以在头文件中一般使用@class来声明这个名称是类的名称。在实现文件里面,因为会用到这个引入类的内部的实例变量和方法

2015-08-22 19:47:31 483

图片下载 SDWebImage

图片下载第三方 SDWebImage,实现KVO 监测model 图片下载的功能

2015-09-27

GDataXMLNode、JSONKit 资源

XML 解析工具:GDataXMLNode JSON 解析工具:JSONKit

2015-09-26

空空如也

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

TA关注的人

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