自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 runtime

Runtime 简称运行时,OC就是运行时机制// OC:运行时机制,消息机制是运行时机制最重要的机制//消息机制:任何方法调用,本质都是发送消息严格检查运行机制设置为no调用类方法,本质也会将类转化为对象调用其方法 Person *p = [[Personalloc] init]; //让p发送消息    o

2017-09-28 10:33:43 254

转载 52个有效方法阅读笔记四

1.理解引用计数查看保留计数的方法叫 retainCount, 此方法不太有用,即便在调试时也如此,所以,苹果不推荐大家用这个方法.如果按"引用计数"回朔,那么最终会发现一个"根对象"(root object).MacOS应用程序中,此对象就是 NSAoolication 对象;而在 iOS应用程序中,则是 UIAppliaction 对象.两者都是应用程序启动时创建的单利.

2017-09-28 10:32:22 243

转载 52个有效方法阅读笔记三

1.接口和 API 设计*用前缀避免命名空间冲突:Apple宣称其保留使用所有"两字母前缀"的权利,所以自己选用的前缀应该是三个字母.可以在工程的 target -> Project Doucment -> Class Prefix 中设置.*若自己开的的程序中用到第三方库,则应为其中的名称加上前缀.2.提供"全能初始化方法"*每个子类的全能初始化方法都应该调用其超类的对应方法,并

2017-09-28 10:30:45 215

转载 52个有效方法阅读笔记二

1.属性和实例变量:属性(property)和实例变量其实就是对象保存数据的一种方法.a. 属性会自动生成获取方法(getter)和设置方法(setter),也衍生出点语法(dot synatx),就是 getter 和 setter 方法的调用.b. 声明属性的时候要注意修饰的关键字,@synthesize 通过他来指定实例变量的合成.可以将属性设置为 readonly, 在实现里面用次

2017-09-28 10:29:35 383

转载 52个有效方法阅读笔记一

1.字面量:做开发也挺长时间了,但是对字面量这个写法虽然一直在用,但是没有深入的去研究他.字面量语法(literal syntax),简单的Foundation 框架下的 NSString,NSArray,NSNumber,NSDicationary 等的实例的声明,也叫做语法糖,科学的使用它,可以缩减代码的长度,是代码更易读.这里简单的举几个例子:NSString 的初始化方法:NS

2017-09-28 10:28:13 167

转载 多张图片上传服务器

最近遇到问题就是多张图片上传服务器该怎么设置.刚开始想到的第一想法就是创建个串行队列.吧这个串行队列放在子线程.循环去上传.首先,在这里.我们首先模拟一个网络请求的方法.#pragma mark -模拟网络请求-- (void)GET:(NSString*)urlparameter:(NSDictionary*)parmetersuccess:(void(^)(idresp

2017-09-28 10:26:12 314

原创 父子控制器

概念 多控制器:当有很多控制器,交给一个大控制器管理父子控制器:导航控制器,UITabBarControler父子控制器本质:搞一个控制器容器,管理很多子控制器.模仿UITabBarControler,写一个自己的UITabBarControler,条在上面.任何控制器都可以是一个容器控制器.因为任何控制器都可以调用addChildViewController

2017-09-28 10:23:42 202

原创 多线程

什么是线程1个进程要想执行任务,必须得有线程(每1个进程至少要有1条线程)一个进程(程序)的所有任务都在线程中执行1个线程中任务的执行是串行的如果要在1个线程中执行多个任务,那么只能一个一个地按顺序执行这些任务也就是说,在同一时间内,1个线程只能执行1个任务进程和线程的比较1.线程是CPU调用(执行任务)的最小单位。2.进程是CPU分配资源和调度

2017-09-28 10:22:49 269

原创 ReactiveCocoa冷热信号与并发编程

冷信号与热信号什么是冷信号与热信号Signal vs Subject冷信号 -> 热信号一  什么是冷信号与热信号当 Signal 有多个订阅者转换的本质- (RACSignal*)bind:(RACStreamBindBlock(^)(void))block;{   return [RACSignalcrea

2017-09-28 10:20:58 741

原创 ReactiveCocoa信号高阶操作

一 升阶和降阶二 1.创造高阶信号(1)RACSignal*signal = [RACSignalreturn:@1];RACSignal*signalHighOrder = [RACSignalreturn:signal];(2)RACSignal *anotherSignal = [signalmap:^id(idvalue)

2017-09-28 10:19:12 505

原创 Reactive cocoa 函数响应式编程概述

一、2种编程方式命令式编程:冯诺依曼   寄存机计算器 (创建内存、计算内存、返回)int factorial1(int x) {    int result = 1;    for (int i = 1; i         result *= i;}    return result;}函数式编程:更推崇表达式 弱化语句基

2016-09-21 19:32:41 321

转载 多线程基础

什么是线程1个进程要想执行任务,必须得有线程(每1个进程至少要有1条线程)一个进程(程序)的所有任务都在线程中执行1个线程中任务的执行是串行的如果要在1个线程中执行多个任务,那么只能一个一个地按顺序执行这些任务也就是说,在同一时间内,1个线程只能执行1个任务进程和线程的比较1.线程是CPU调用(执行任务)的最小单位。2.进程是CPU分

2016-09-18 16:53:05 244

原创 JS内置对象

一、widow作用一:         1.所有的全局变量都是window的属性         2.所有全局的函数都是window的函数       全局的变量      var age = 17;       //console.log(window.age);       全局的函数      function Dog(

2016-09-18 15:49:13 189

原创 js基本语法

HTML DOM操作(节点操作,比如添加、修改、删除节点)给HTML网页增加动态功能,比如动画事件处理:比如监听鼠标点击、鼠标滑动、键盘输入Node. js是一个JavaScript运行环境(runtime),是对Google V8引擎进行封装V8引擎执行JavaScript的速度非常快,性能非常好优势:可以作为后台语言,单线程(不新增额外线程的情况下,依然可以对人

2016-09-12 18:56:11 189

转载 采用Tagged Pointer的字符串

本文由CocoaChina译者@ALEX吴浩文翻译作者:Mike Ash  原文:Friday Q&A 2015-07-31: Tagged Pointer Strings 本文由CocoaChina译者@ALEX吴浩文翻译作者:Mike Ash  原文:Friday Q&A 2015-07-31: Tagged Pointer Strings 

2016-07-14 17:11:39 350

转载 ReactiveCocoa 用 RACSignal 替代 Delegate

在 RAC 的文档和一些介绍 RAC 的 Keynote 资料里面我们可以看到说 RACSignal 可以来替代 Delegate、 Block Callbacks、Target Action、KVO、Notifications。但是貌似没有一种 hello world 的方式来进行说明如何替代的。插嘴:在中文 blog 里面见过几个写 RAC 的比较好哒。一个是limboy大大的

2016-07-07 17:43:46 540

原创 reactiveCocoa实践四(过滤)

一 满足条件才能拿到值- (void)filter{    // 只有当我们文本框的内容长度大于5,才想要获取文本框的内容    [[_textField.rac_textSignal filter:^BOOL(idvalue) {        // value:源信号的内容        return  [value length] > 5;

2016-06-24 19:09:27 335

原创 reactiveCocoa实践三(信号组合)

一     一个请求发送完,返回数据后再发送另一个请求(得到的数据在同一方法中执行)按一定顺序拼接信号,当多个信号发出的时候,有顺序的接收信号- (void)concat{    // 组合    // concat:皇上,皇太子    // 创建信号A    RACSignal *siganlA = [RACSignal createSignal:

2016-06-24 19:08:11 531

转载 ReactiveCocoa进阶

1.ReactiveCocoa常见操作方法介绍。1.1 ReactiveCocoa操作须知所有的信号(RACSignal)都可以进行操作处理,因为所有操作方法都定义在RACStream.h中,而RACSignal继承RACStream。1.2 ReactiveCocoa操作思想运用的是Hook(钩子)思想,Hook是一种用于改变API(应用程序编程接口:方法)执

2016-06-24 12:16:29 529

原创 reactiveCocoa实践二

一.信号类:表示有数据产生*   RACSignal*  RACDynamicSignal -> didSubscribe(block)*   RACSubject -> subscribers(数组)*  RACReplaySubject -> valuesReceived(数组) 二.不同的信号订阅方式不同

2016-06-23 17:44:04 275

原创 reactiveCocoa实践一

RACSignalRACSignal:有数据产生的时候,就使用RACSignal    RACSignal使用步骤: 1.创建信号  2.订阅信号3.发送信号       RACDisposable *(^didSubscribe)(id subscriber) = ^RACDisposable *(id subscriber) {        //

2016-06-22 12:35:30 474

转载 iOS开发UI篇—控制器的View的创建

iOS开发UI篇—控制器的View的创建一、6种创建控制器View的方式 1 #import "NJAppDelegate.h" 2 #import "NJViewController.h" 3 /* 4 1.没有同名xib情况下 5 2.通过 storyboard 创建 6 3.有指定xib情况下创建 7 4.有同名xib情况 8 5.有同名去掉contr

2016-06-17 18:26:21 211

转载 ReactiveCocoa简介

1.ReactiveCocoa简介ReactiveCocoa(简称为RAC),是由Github开源的一个应用于iOS和OS开发的新框架,Cocoa是苹果整套框架的简称,因此很多苹果框架喜欢以Cocoa结尾。2.ReactiveCocoa作用在我们iOS开发过程中,当某些事件响应的时候,需要处理某些业务逻辑,这些事件都用不同的方式来处理。比如按钮的点击使用action,S

2016-06-17 14:42:52 591

原创 block

block快捷方式:inlineBlockreturnType(^blockName)(parameterTypes) = ^(parameters) {       statements    };name:类型的别名typedefvoid(^BlockName)();block别名快捷方式:typedefBlocktypedefret

2016-06-17 11:56:07 183

原创 cocos2D开发游戏

1. Cocos2D游戏引擎介绍2. Box2D物理引擎介绍物理引擎就是解决游戏中物理规律的变化主要是按照物理规律来进行计算刚体的运动轨迹3. CCDirector导演类介绍+ (BOOL) setDirectorType:(ccDirectorType)type; + (CCDirector *)

2016-06-17 09:36:32 266

原创 python BIF /操作符 / If else / assert

python3常用语法面向对象编程思维运用模块进行编程游戏编程计算机仿真tab 缩进是 python 的灵魂 BIF == Built in functionshelp (int)python 没有变量 只有名字在使用变量时要对其进行赋值转义字符\’  \n  原始字符串

2016-06-16 16:31:07 458

原创 super 与 self

class:获取方法调用类名superclass:获取方法调用者的父类类名super:编译修饰符,不是指针,指向父类标志,本质还是拿到当前对象去调用父类的方法注意:super并不是拿到父类对象去调用父类方法Person.h@interface Person :NSObject- (void)test;@endPerson.m- (

2016-06-15 15:20:58 208

原创 父子控制器

概念 多控制器:当有很多控制器,交给一个大控制器管理父子控制器:导航控制器,UITabBarController父子控制器本质:搞一个控制器容器,管理很多子控制器.模仿UITabBarController,写一个自己的UITabBarController,条在上面.任何控制器都可以是一个容器控制器.因为任何控制器都可以调用addChildViewController

2016-06-15 15:11:36 379

原创 static和extern static和const extern和const的联合使用

static和extern使用先了解作用,才知道怎么使用。 static作用: * 修饰局部变量: 1.延长局部变量的生命周期,程序结束才会销毁。 2.局部变量只会生成一份内存,只会初始化一次。 3.改变局部变量的作用域。 - (void)touchesBegan:(NSSetUITouch *> *)touches withEvent:(UIEvent *)e

2016-06-14 14:47:55 327

原创 const

const与宏的区别宏常见用法:1.常用的字符串抽成宏2.常用的代码抽成宏宏的命令规范:以项目前缀开头,以Key结尾#define DDAccountKey @"account"#:预编译#define DDUserDefaults [NSUserDefaults standardUserDefaults]const:常量  

2016-06-14 13:58:09 204

原创 Runtime 解析字典自动生成属性代码 及 字典转模型方式一 KVC/Runtime

Runtime 模型属性代码(字典转模型,解析字典自动生成属性代码)NSObject+Property#import"NSObject+Property.h"@implementation NSObject (Property)+ (void)createPropertyCodeWithDict:(NSDictionary *)dict{

2016-06-13 18:00:02 573

原创 Runtime消息机制,交换方法,动态添加方法,分类添加属性

Runtime 简称运行时,OC就是运行时机制// OC:运行时机制,消息机制是运行时机制最重要的机制//消息机制:任何方法调用,本质都是发送消息严格检查运行机制设置为no调用类方法,本质也会将类转化为对象调用其方法  Person *p = [[Personalloc] init]; //让p发送消息    objc_m

2016-06-13 11:04:13 2462

原创 iOS9新特性

iOS9新出的关键性:用来修饰属性。或者方法的参数,方法的返回值nullable(可以传空)好处:1.迎合swift  2.提高开发人员规范,减少程序员之间的交流开发规范:在属性前定义一个宏// nullable作用:表示可以为空// nullable书写规范: //方式一: @property(n

2016-06-12 14:54:02 264

转载 ios即时通讯客户端开发之

mac上安装MySQL到MySQL官网上http://dev.mysql.com/downloads/mysql/,下载mysql可安装dmg版本比如:Mac OS X ver. 10.7 (x86, 64-bit), DMG Archive下载完的文件为:mysql-5.6.10-osx10.7-x86_64.dmg1.点击,安装包里的2.点击安装安装好后

2015-12-13 14:29:40 497

转载 IOS框架和服务

在iOS中框架是一个目录,包含了共享资源库,用于访问该资源库中储存的代码的头文件,以及图像、声音文件等其他资源。共享资源库定义应用程序可以调用的函数和方法。    iOS为应用程序开发提供了许多可使用的框架,并构成IOS操作系统的层次架构,分为四层,从上到下依次为:Cocoa Touch Layer(触摸UI层)、MediaLayer(媒体层)、Core Services La

2015-12-12 10:50:10 412

转载 SDWebImage异步加载图片及缓存的管理与清理

一、SDWebImage介绍1、在项目的开发过程中,我们经常会用到异步加载图片的功能,先从网络上异步下载图片,然后通过UIImageView显示在屏幕上。这是一个经常使用的功能,基本上所有的联网应用程序都要用到的功能,现在GitHub上已经有非常成熟的框架SDWebImage(提供异步加载图片、缓存管理,下载进度等,功能最齐全)EGOImageLoading(之前使用的框架

2015-12-01 20:33:23 465

转载 iOS 9 适配系列教程

Demo1_iOS9网络适配_改用更安全的HTTPSiOS9把所有的http请求都改为https了:iOS9系统发送的网络请求将统一使用TLS 1.2 SSL。采用TLS 1.2 协议,目的是 强制增强数据访问安全,而且 系统 Foundation 框架下的相关网络请求,将不再默认使用 Http 等不安全的网络协议,而默认采用 TLS 1.2。服务器因此需要更新,以解析相关数据。如不更新,

2015-12-01 20:29:59 255

转载 View-Layer 协作

在 iOS 中,所有的 view 都是由一个底层的 layer 来驱动的。view 和它的 layer 之间有着紧密的联系,view 其实直接从 layer 对象中获取了绝大多数它所需要的数据。在 iOS 中也有一些单独的 layer,比如 AVCaptureVideoPreviewLayer 和 CAShapeLayer,它们不需要附加到 view 上就可以在屏幕上显示内容。两种情况下其实都

2015-12-01 20:27:55 261

转载 绘制像素到屏幕上

一个像素是如何绘制到屏幕上去的?有很多种方式将一些东西映射到显示屏上,他们需要调用不同的框架、许多功能和方法的结合体。这里我们大概的看一下屏幕之后发生的事情。当你想要弄清楚什么时候、怎么去查明并解决问题时,我希望这篇文章能帮助你理解哪一个 API 可以更好的帮你解决问题。我们将聚焦于 iOS,然而我讨论的大多数问题也同样适用于 OS X。图形堆栈当像素映射到屏幕上的时候,后台发生了

2015-12-01 20:26:21 328

转载 iOS程序启动与运转

iOS程序启动与运转】- RunLoop个人小结字数4790 阅读4090 评论21 喜欢75学习iOS开发一般都是从UI开始的,从只知道从IB拖控件,到知道怎么在方法里写代码,然后会显示什么样的视图,产生什么样的事件,等等。其实程序从启动开始,一直都是按照苹果封装好的代码运行着,暴露的一些属性和方法作为接口,是让我们在给定的方法里写代码实现自定义功能,做出各种各样的应用。

2015-12-01 20:09:00 353

空空如也

空空如也

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

TA关注的人

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