自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 reactNative小demo讲解 对比iOS

我们通过http://reactnative.cn(reactNative中文网)安装reachNative环境,创建xcode工程。结构分析 1.引入相关的类 import React, { AppRegistry, Component, StyleSheet, Text, View, TouchableOpacity,} from 'react-nat

2016-03-30 15:27:24 542

原创 sdWebImage缓存替换

2016-03-30 14:58:09 558

原创 sdWebImage忽略缓存

options这个参数里面的枚举有忽略缓存的值  就是这个 SDWebImageRefreshCached- (void)sd_setImageWithURL:(NSURL *)url placeholderImage:(UIImage *)placeholder options:(SDWebImageOptions)options;

2016-03-28 12:04:54 919

原创 史上最全正则

一个正则表达式测试(只可输入中文、字母和数字)      在项目中碰到了正则表达式的运用,正则还是非常强大的,不管什么编程语言,基本上都可以用到。之前在用java时特别是对用户名或密码使用正则非常爽,写脚本上用正则也非常爽,可是到了OC这却把我虐了一把,可能是对OC掌握的不够。这里就罗列了从网上找的很有用的资料,感谢大神们的贡献。首先举一个例子:匹配9-15个由字母/数字组

2016-03-23 11:58:02 3957 1

原创 image拉伸2

- (UIImage *)stretchableImageWithLeftCapWidth:(NSInteger)leftCapWidth topCapHeight:(NSInteger)topCapHeight 这个函数是UIImage的一个实例函数,它的功能是创建一个内容可拉伸,而边角不拉伸的图片,需要两个参数,第一个是左边不拉伸区域的宽度,第二个参数是上面不拉伸的高度。根据设

2016-03-23 11:55:54 516

原创 IOS 图片拉伸技巧

对于有些图标等按钮 在美工设计的按钮下可以通过拉伸效果处理所需效果,最熟悉的莫过于微信聊天的 椭圆背景,也是通过这个这个原理进行背景图片。 如对该图片拉伸,如何操作? 首先找到要拉伸的部分,很明显 两侧椭圆是不变 要拉伸的是中间部分,如何指定中间部位,先看下图指定这4个宽度后 会形成黑色模块 直白点就是 这块内容就是拉伸后中间那块不断填充的部分具体代码:1

2016-03-23 11:54:58 213

原创 WebViewJavascriptBridge

前段时间做h5交互使用了WebViewJavascriptBridge,今天做下整理。首先确保一份已经配好功能的html文件。(html还在学习阶段,暂时就不卖弄了。。。) 1.初始化一个webview(viewdidload)UIWebView* webView = [[UIWebView alloc] initWithFrame:self.v

2016-03-23 11:50:41 297

原创 加载gif图片的方法:(需要SDWebImage方法)

#import "UIImage+GIF.h"加载gif图片的方法:(需要SDWebImage方法)/** *  加载图片 */- (void)initLoadingImageView{    NSString  *name = @"loading.gif";    NSString  *filePath =

2016-03-23 11:48:53 938

原创 关于UIImageView的显示问题

关于UIImageView的显示问题——居中显示或者截取图片的中间部分显示发表回复我们都知道在ios中,每一个UIImageView都有他的frame大小,但是如果图片的大小和这个frame的大小不符合的时候会怎么样呢?在默认情况,图片会被压缩或者拉伸以填满整个区域。通过查看UIView的属性可以知道,view的contentMode属性可以用来控制图片的显示情况。下面

2016-03-23 11:39:57 440

原创 cocoa pods,os x 10.11.1遇到的问题

问题1,路径有问题/Library/Ruby/Site/2.0.0/rubygems.rb:254:in `bin_path': can't find gem cocoapods (>= 0.a) (Gem::GemNotFoundException)from /usr/local/bin/pod:22:in `'解决方法,rvm install ruby-2.0.0-p6

2016-03-15 17:06:49 934

原创 iOS 最新版 CocoaPods 的安装流程

iOS 最新版 CocoaPods 的安装流程1.移除现有Ruby默认源$gem sources --remove https://rubygems.org/2.使用新的源$gem sources -a https://ruby.taobao.org/3.验证新源是否替换成功$gem sources -l4.安装CocoaPods(1

2016-03-15 09:41:04 281

原创 使用Alcatraz来管理Xcode插件

简介Alcatraz 是一个帮你管理 Xcode 插件、模版以及颜色配置的工具。它可以直接集成到 Xcode 的图形界面中,让你感觉就像在使用 Xcode 自带的功能一样。安装和删除使用如下的命令行来安装 Alcatraz:mkdir -p ~/Library/Application\ Support/Developer/Shared/Xcode/Plug-ins;

2016-03-15 09:18:16 217

原创 使程序在用户长时间不操作时退出

原文:http://www.icodeblog.com/2011/09/19/timing-out-an-application-due-to-inactivity/概述先讲讲原理。我创建了一个 UIApplication 的子类ELCUIApplication。目的是为了覆盖 sendEvent: 方法。这个方法在每次触摸时都会调用。触摸可能来自于按钮、文本框以至窗口内的任何东西。在

2016-03-14 15:41:14 577

原创 IOS开发之NSPredicate 查询、搜索

简述:Cocoa框架中的NSPredicate用于查询,原理和用法都类似于SQL中的where,作用相当于数据库的过滤取。最常用到的函数+ (NSPredicate *)predicateWithFormat:(NSString *)predicateFormat, ...;1.比较运算符 > 、= 、例:@"number >= 99" 2.范围运算

2016-03-10 14:06:22 324

原创 Object-c---NSPredicate用法

Cocoa提供了一个类NSPredicate类,该类主要用于指定过滤器的条件,该对象可以准确的描述所需条件,对每个对象通过谓词进行筛选,判断是否与条件相匹配。谓词表示计算真值或假值的函数。    NSPredicate *predicate;    predicate=[NSPredicatepredicateWithFormat:@"name=='Herbie'"];//

2016-03-10 13:39:51 339

原创 设计模式之观察者模式(关于OC中的KVO\KVC\NSNotification)

学习了这么久的设计模式方面的知识,最大的感触就是,设计模式不能脱离语言特性。近段时间所看的两本书籍,《大话设计模式》里面的代码是C#写的,有一些设计模式实现起来也是采用了C#的语言特性(C#的API,抽象类,在OC中是没有抽象类、没有多继承关系),《设计模式之禅》里面的代码是JAVA写的,与OC差距也是比较大。但是我想,这些都不是问题,学习设计模式主要学习的是其中的思想,并将之改造成自己所

2016-03-08 11:08:22 574

原创 CoreDate入门

简介  Core Data是iOS5之后才出现的一个框架,它提供了对象-关系映射(ORM)的功能,即能够将OC对象转化成数据,保存在SQLite数据库文件中,也能够将保存在数据库中的数据还原成OC对象。在此数据操作期间,我们不需要编写任何SQL语句,这个有点类似于著名的Hibernate持久化框架,不过功能肯定是没有Hibernate强大的。简单地用下图描述下它的作用:

2016-03-07 18:05:15 433

原创 OpenShare实现(4): more

开源虽易,让别人用就很难。 比如我做了一个openshare,自己感觉很好用,想让更多的人使用,顺便骗一些star,如果不推广,扔到Github上不管,估计一年以后也没人用,想想自己辛辛苦苦,前前后后用了半个月的晚上时间来做,还是希望能得到一些star来填补强烈的虚荣满足感的。开源也是一个圈子,是需要「混」的,iOS圈里面的「明星」还是少数,他们随便扔一个项目,都能star超过1k,像我这种无名小

2016-03-04 14:55:07 628

原创 OpenShare实现(3):implement

我们已经知道如何和官方客户端通信了,通过hook也知道通信格式了。下面就是对这些平台进行封装。有一些基本要求:因为我们并不知道OpenShare到底要支持多少平台,所以必须提供扩展机制。必须有全局的保存appKey等变量的地方,可以考虑单例模式或类变量。分享、登录完成以后,要方便回调,可以考虑block。对于objc基本上有两种思路:继承(subclass)和类别(category

2016-03-04 14:53:31 843

原创 OpenShare实现(2): how

我们自己的app中集成的官方SDK需要和官方客户端通信,在iOS中,调起其他app,基本上都是用:[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"weixin:"]];//app中调起微信[[UIApplication sharedApplication] openURL:[NSURL URLWithSt

2016-03-04 14:52:44 464

原创 OpenShare实现(1):why

开发喜地iOS版的时候,商品需要分享到微信、QQ、微博之类的社交网络。按照传统的方法,去各个官方平台的开发者网站,下载SDK,然后集成进去。这样做会导致最后打包的app体积增大不少,而且每个平台API使用方法都不统一,研究每个平台分享、登录功能,也浪费了不少时间。于是为什么不封装一下呢?就像iOS Social framework。默认已经封装了下面几种社交网络:#SLServic

2016-03-04 14:51:34 468

原创 设计模式 ( 十九 ) 模板方法模式Template method(类行为型)

设计模式 ( 十九 ) 模板方法模式Template method(类行为型)1.概述在面向对象开发过程中,通常我们会遇到这样的一个问题:我们知道一个算法所需的关键步骤,并确定了这些步骤的执行顺序。但是某些步骤的具体实现是未知的,或者说某些步骤的实现与具体的环境相关。例子1:银行业务办理流程在银行办理业务时,一般都包含几个基本固定步骤:取号排队->办理具

2016-03-04 09:57:32 298

原创 设计模式 ( 二十 ) 访问者模式Visitor(对象行为型)

特此说明:对访问者模式理解不是特别透彻,若有误,请指正,谢谢!1.概述在软件开发过程中,对于系统中的某些对象,它们存储在同一个集合collection中,且具有不同的类型,而且对于该集合中的对象,可以接受一类称为访问者的对象来访问,而且不同的访问者其访问方式有所不同。例子1:顾客在超市中将选择的商品,如苹果、图书等放在购物车中,然后到收银员处付款。在购物过程中,顾客需要对这

2016-03-04 09:57:08 356

原创 Xcode及模拟器SDK下载

如果你嫌在 App Store 下载 Xcode 太慢,你也可以选择从网络上下载:Xcode下载(Beta版打的包是不能提交到App Store上的)绝对官方源!!!绝对官方源!!!绝对官方源!!!不能确定自己的 Xcode 是否有问题?简单的一条命令就能验证!在终端输入 spctl 命令,并带上安装的 Xcode 的路径:[ruby

2016-03-04 09:56:42 487

原创 此证书的签发者无效

1,按照你那个链接下载,https://developer.apple.com/certificationauthority/AppleWWDRCA.cer,并安装。2, 在“钥匙串”里选择“登录”,然后点选“证书”,在这个界面,选择工具栏的“显示” -> “显示过期证书”,这时候你会发现一个过期的“WWDR Certificate”(Apple Worldwide Developer R

2016-03-03 09:41:13 239

原创 设计模式 ( 十八 ) 策略模式Strategy(对象行为型)

设计模式 ( 十八 ) 策略模式Strategy(对象行为型)1.概述        在软件开发中也常常遇到类似的情况,实现某一个功能有多种算法或者策略,我们可以根据环境或者条件的不同选择不同的算法或者策略来完成该功能。如查找、排序等,一种常用的方法是硬编码(Hard Coding)在一个类中,如需要提供多种查找算法,可以将这些算法写到一个类中,在该类中提供多个方法,每一个方法对应

2016-03-02 16:05:13 302

原创 设计模式 ( 十七) 状态模式State(对象行为型)

设计模式 ( 十七) 状态模式State(对象行为型)1.概述在软件开发过程中,应用程序可能会根据不同的情况作出不同的处理。最直接的解决方案是将这些所有可能发生的情况全都考虑到。然后使用if... ellse语句来做状态判断来进行不同情况的处理。但是对复杂状态的判断就显得“力不从心了”。随着增加新的状态或者修改一个状体(if else(或switch case)语句

2016-03-02 16:04:18 314

原创 设计模式 ( 十六 ) 观察者模式Observer(对象行为型)

设计模式 ( 十五 ) 观察者模式Observer(对象行为型) 1.概述一些面向对象的编程方式,提供了一种构建对象间复杂网络互连的能力。当对象们连接在一起时,它们就可以相互提供服务和信息。通常来说,当某个对象的状态发生改变时,你仍然需要对象之间能互相通信。但是出于各种原因,你也许并不愿意因为代码环境的改变而对代码做大的修改。也许,你只想根据你的具体应用环境而改进通

2016-03-02 16:02:32 641

原创 设计模式 ( 十五 ) 中介者模式Mediator(对象行为型)

设计模式 ( 十五 ) 中介者模式Mediator(对象行为型)1.概述在面向对象的软件设计与开发过程中,根据“单一职责原则”,我们应该尽量将对象细化,使其只负责或呈现单一的职责,即将行为分布到各个对象中。对于一个模块或者系统,可能由很多对象构成,而且这些对象之间可能存在相互的引用,在最坏的情况下,每一个对象都知道其他所有的对象,这无疑复杂化了对象之间的联系。虽

2016-03-02 16:01:13 299

原创 设计模式 ( 十四 ) 迭代器模式Iterator(对象行为型)

1.概述类中的面向对象编程封装应用逻辑。类,就是实例化的对象,每个单独的对象都有一个特定的身份和状态。单独的对象是一种组织代码的有用方法,但通常你会处理一组对象或者集合。集合不一定是均一的。图形用户界面框架中的 Window 对象可以收集任意数量的控制对象 - Menu、Slider 和 Button。并且,集合的实现可以有多种方式:PHP 数字是一个集合,但也是一个散列表,一个链接列

2016-03-02 16:00:08 326

原创 设计模式 ( 十三 ) 命令模式Command(对象行为型)

设计模式 ( 十三 ) 命令模式Command(对象行为型)1.概述        在软件设计中,我们经常需要向某些对象发送请求,但是并不知道请求的接收者是谁,也不知道被请求的操作是哪个,我们只需在程序运行时指定具体的请求接收者即可,此时,可以使用命令模式来进行设计,使得请求发送者与请求接收者消除彼此之间的耦合,让对象之间的调用关系更加灵活。 例子1:电视机遥控器 :

2016-03-02 15:59:24 321

原创 设计模式 ( 十二 ) 职责链模式(Chain of Responsibility)(对象行为)

设计模式(十二)职责链模式(Chain of Responsibility)(对象行为型)1.概述       你去政府部门求人办事过吗?有时候你会遇到过官员踢球推责,你的问题在我这里能解决就解决,不能解决就推卸给另外个一个部门(对象)。至于到底谁来解决这个问题呢?政府部门就是为了可以避免屁民的请求与官员之间耦合在一起,让多个(部门)对象都有可能接收请求,将这些(部门)对象

2016-03-02 15:58:28 493

原创 设计模式(十一)代理模式Proxy(结构型)

设计模式(十一)代理模式Proxy(结构型) 1.概述       因为某个对象消耗太多资源,而且你的代码并不是每个逻辑路径都需要此对象, 你曾有过延迟创建对象的想法吗 ( if和else就是不同的两条逻辑路径) ? 你有想过限制访问某个对象,也就是说,提供一组方法给普通用户,特别方法给管理员用户?以上两种需求都非常类似,并且都需要解决一个更大的问题:你如何提供一致的接

2016-03-02 15:57:27 274

原创 设计模式(十)享元模式Flyweight(结构型)

设计模式(十)享元模式Flyweight(结构型)说明:相对于其它模式,Flyweight模式在PHP实现似乎没有太大的意义,因为PHP的生命周期就在一个请求,请求执行完了,php占用的资源都被释放。我们只是为了学习而简单做了介绍。1. 概述面向对象技术可以很好地解决系统一些灵活性或可扩展性或抽象性的问题,但在很多情况下需要在系统中增加类和对象的个数。当对象

2016-03-02 15:56:19 297

原创 设计模式(九)外观模式Facade(结构型)

设计模式--外观模式Facade(结构型):1. 概述     外观模式,我们通过外观的包装,使应用程序只能看到外观对象,而不会看到具体的细节对象,这样无疑会降低应用程序的复杂度,并且提高了程序的可维护性。例子1:一个电源总开关可以控制四盏灯、一个风扇、一台空调和一台电视机的启动和关闭。该电源总开关可以同时控制上述所有电器设备,电源总开关即为该系统的外观模式设计。

2016-03-02 14:11:59 274

原创 设计模式(八)装饰器模式Decorator(结构型)

1. 概述       若你从事过面向对象开发,实现给一个类或对象增加行为,使用继承机制,这是所有面向对象语言的一个基本特性。如果已经存在的一个类缺少某些方法,或者须要给方法添加更多的功能(魅力),你也许会仅仅继承这个类来产生一个新类—这建立在额外的代码上。      通过继承一个现有类可以使得子类在拥有自身方法的同时还拥有父类的方法。但是这种方法是静态的,用户不能控制增加行为的方

2016-03-02 14:11:02 247

原创 设计模式(七)组合模式Composite(结构型)

设计模式(七)组合模式Composite(结构型)1. 概述在数据结构里面,树结构是很重要,我们可以把树的结构应用到设计模式里面。例子1:就是多级树形菜单。例子2:文件和文件夹目录2.问题我们可以使用简单的对象组合成复杂的对象,而这个复杂对象有可以组合成更大的对象。我们可以把简单这些对象定义成类,然后定义一些容器类来存储这些简单对象。客户端代

2016-03-02 14:09:13 396

原创 设计模式(六)桥连模式Bridge(结构型)

设计模式(六)桥连模式Bridge(结构型)1. 概述      在软件系统中,某些类型由于自身的逻辑,它具有两个或多个维度的变化,那么如何应对这种“多维度的变化”?如何利用面向对象的技术来使得该类型能够轻松的沿着多个方向进行变化,而又不引入额外的复杂度?例子1:设想如果要绘制矩形、圆形、椭圆、正方形,我们至少需要4个形状类,但是如果绘制的图形需要具有不同的颜色,如红色、绿

2016-03-02 14:07:27 390

原创 设计模式(五)适配器模式Adapter(结构型)

设计模式(五)适配器模式Adapter(结构型)1. 概述:         接口的改变,是一个需要程序员们必须(虽然很不情愿)接受和处理的普遍问题。程序提供者们修改他们的代码;系统库被修正;各种程序语言以及相关库的发展和进化。        例子1:iphone4,你即可以使用UBS接口连接电脑来充电,假如只有iphone没有电脑,怎么办呢?苹果提供了iphone电源

2016-03-02 14:01:38 546

原创 设计模式(四)原型模式Prototype(创建型)

设计模式(四)原型模式Prototype 1.   概述我们都知道,创建型模式一般是用来创建一个新的对象,然后我们使用这个对象完成一些对象的操作,我们通过原型模式可以快速的创建一个对象而不需要提供专门的new()操作就可以快速完成对象的创建,这无疑是一种非常有效的方式,快速的创建一个新的对象。例子1:孙悟空拔下一嘬猴毛,轻轻一吹就会变出好多的孙悟空来。例子2:寄个快递

2016-03-02 13:57:25 505

apple_mobile_device_types.json

这是苹果的device model 跟iPhone Name 的对照表 , 例:iPhone7,2 => iPhone 6

2020-04-26

oc和swift混编

这是需要做oc和swift混编需要用到的,现在oc的发展变慢,swift成长很快,需要这种技术的请下载,如果不是做ios的请慎重

2019-02-27

空空如也

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

TA关注的人

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