自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 ios加密

在做项目得时候很多数据需要加密,一般用户名,密码等,有的习惯用KeyChain,有的用userDefault.也有用文件。 1. DES 加密NSString *fileName = [LoginSaveName tripleDES];NSString *path = [NSString stringWithFormat:@"%@%@", LogInRecordLocalFilePath, fi

2015-02-12 16:01:41 788

转载 更轻量的 View Controllers

objc中国更轻量的 View Controllers 唐天勇  18 Mar 2014 分享文章  View controllers 通常是 iOS 项目中最大的文件,并且它们包含了许多不必要的代码。所以 View controllers 中的代码几乎总

2015-02-11 10:01:28 402

转载 数组排序

对NSArray中自定义的对象进行排序本文译自How to sort NSArray with custom objects。我们开发的每个程序都会使用到一些数据,而这些数据一般被封装在一个自定义的类中。例如一个音乐程序可能会有一个Song类,聊天程序则又一个Friend类,点菜程序会有一个Recipe类等。有时候我们希望在程序中显示的列表数据是按照一定顺序进行

2015-02-06 11:39:28 437

转载 iOS 5与iOS 6的 low-memory 处理

iOS 5 与 iOS 6 的 low-memory 处理移动设备终端的内存极为有限,应用程序必须做好low-memory处理工作,才能避免程序因内存使用过大而崩溃。low-memory 处理思路通常一个应用程序会包含多个view controllers,当从view跳转到另一个view时,之前的view只是不可见状态,并不会立即被清理掉,而是保

2015-02-05 17:03:46 409

原创 表格分组折叠

初始化数据- (void)initData {    _mArrayData = [[NSMutableArrayalloc]init];       for (int i ='A'; i 'Z'; i++) {        NSMutableDictionary *smallGroupDict = [[NSMutableDictionar

2015-02-04 23:06:10 644

转载 如何从项目中移除storyboards

转载:http://www.cocoachina.com/ios/20141104/10127.html在本文中我们将从Single View Application模板中移除storyboard,并使用导航栈来储存不限数量的视图控制器,然后模态化的显示视图页面。创建新项目创建一个新项目并选择Single View Application模板。将其命名为NoStoryb

2015-02-01 11:00:22 419

翻译 NSOperation vs. GCD

Mac OS X 有很多并发机制,除了run loops, threads (both Cocoa and POSIX) and operations Snow Leopard  增加了GCD,一个轻量的代表同步方式合工作的单元的方式,但是我们不是有了NSOperation,为什么还要GCD呢?他们的区别是什么?最直接的答案就是:总是用高度抽象的,其次才是低抽象的当对比两项技术

2015-01-30 11:32:01 721

原创 创建tabBarControllers视图控制器的方法

//数组中放各个视图控制器的类名NSArray *controllersName = [NSArray arrayWithObjects:@"NewsViewController",@"MarketViewController",@"VideoViewController",@"PictureViewController",@"SettingViewController",nil];NSS

2015-01-29 21:30:06 536

原创 检测碰撞

CGRectIntersectsRect(bullet.frame, enemy.frame),中间的参数是2个对象

2015-01-29 21:19:34 495

原创 jsonModel

jsonModel 是一个很he

2014-11-05 18:05:50 1058

原创 狗狗地图项目总结

归档:+ (MXUser *)currentUser{    NSData *encodedUser = [[NSUserDefaults standardUserDefaults] objectForKey:@"user_key"];    MXUser *user = (MXUser *)[NSKeyedUnarchiver unarchiveObjectWithData:

2014-09-28 16:15:04 619

原创 ios 周刊第六期读唐巧书总结

1.UIWebView和oc相互调用在实际项目中我也遇到过js和oc交互的地方。一个是在webView页面响应按钮,二个是接收webView里面的数据。参考iOS第四期。接收webView的按钮的做法很简单:就是在这个按钮里面加一个非法的链接,然后在webView的代理方法shouldstartLoadWithrequest 里面去判断是否是我们自定义的链接,是,就做相应的

2015-07-25 10:03:49 618

原创 oc与js 交互

在以前的博文中也提到过js 与oc 的交互的问题。以前是定义了一个非法的链接然后判断这个链接。现在通过JavaScriptCore这个框架。(1)在上述代码中,使用javascriptCore.framework,首先使用UIWebview加载一个静态网页,并使用JSContext *context = [self.webview valueForKeyPath:@"doc

2015-07-25 09:58:06 326

原创 iOS 调试

LLDB是用LLVM中可重用组件构建的下一代高性能调试器,包括完整的LLVM编译器。一.dsYM文件Xcode的调试信息文件称为dsYm文件。每个dsYm文件都是一个包,它包含一个DWARF规范并且用你的目标名命名的文件。创建工程的时候默认设置是自动创建一个调试文件。二.LLDB控制台1.打印变量:p,po 2.打印寄存器   register read

2015-07-25 09:54:13 355

原创 编写高质量iOS与OS X代码的52个有效方法上

第一章 熟悉Objective-C1.了解起源oc 使用“消息结构”,运行时执行的代码由运行环境决定,而函数调用的语言,由编译器决定。在oc,有部分变量不算oc对象,如CGRect.2.在类的头文件中尽量少引入其他头文件将引入头文件的时间尽量延后,可以减少类的使用者所需引入的头文件的数量。一般的做法是:#Person.h@class

2015-07-25 09:52:58 318

原创 ios周刊第五期

如何做引导页大家都知道每个app 都有一个引导页,当然,这个引导页可以自己写,也可以用开源的。但是有一个问题,就是如何做引导页的更新。因为每个版本的引导页可能不同,很多人的做法是根据版本号去判断,但是这样不是很合理,因为可能版本更新了引导页没有更新。所以,正确的做法是根据引导页的版本号去判断。NSString *welcomeVer = [NSString stri

2015-06-26 20:17:22 570

原创 ios周刊 第四期

耽搁了3周的iOS周刊又被我拾起了。真是抱歉,因为状态不好,一直在偷懒。1.Objective-C允许向某个值为nil的变量发送消息,且不会发生任何事情。在其他语言中,向空指针(值为0的指针)发送消息是非法的,初始化方法在执行时,无法确定新创建对象的实例变量是否已经处于正确设置。实例变量可能具有不正确的值,也可能没有被正确分配,如果这时调用存取方法访问实例变

2015-06-26 20:01:47 387

原创 iOS周刊 第三期

一.如何设置button title 的位置btn.textLabel.textAlignment = UITextAlignmentLeft是没有作用的,我们需要设置btn.contentHorizontalAlignment = UIControlContentHorizonAlignmentLeft;但是问题又出来,此时文字会紧贴到做边框,我们可以设置btn.

2015-06-26 19:59:20 326

原创 iOS周刊第二期

1.有些项目中引用了第三方库,可能不支持模拟器这可能是他们不支持模拟器。这个时候需要我们基于模拟器i386的架构生成.a。具体参见blog.csdn.net/kaizi318/article/details/74900672.可能有多个名 三方库方法冲突3.http://blog.devtang.com/blog/2015/01/31/write-sdk-tips/4.如何

2015-06-26 19:48:00 435

原创 iOS 周刊 第一期

一.多线程安全方案1.用同步锁,但是很影响性能2.用NSLock,也是锁机制3.用派发队列,在并行队列里面,结合dispatch_barrier,保证并发队列的数据操作是独立执行的。—-参考《52个高效cocoa编程方法》总结:第三种方式最优,但是,很少用。当然也可以用串行队列,但是并行队列效率更好。还有,对于单例的写法:最好用 dispatch_once.二.图片圆角的处理1.用 layer ,但

2015-06-26 19:44:40 513

转载 IOS网络编程:HTTP

HTTP定义了一种在服务器和客户端之间传递数据的途径。URL定义了一种唯一标示资源在网络中位置的途径。 REQUESTS 和 RESPONSES:客户端先建立一个TCP连接,然后发送一个请求。服务器受到请求处理后发送一个响应向客户端传递数据。然后客户端可以继续发送请求或者关闭这个TCP连接。HTTPS:在TCP连接建立后,发送请求之前,需要建立一

2015-04-10 14:01:20 476

转载 pushViewController自定义动画

实现的主要代码如下:[objc] view plaincopyprint?CATransition *transition = [CATransition animation];  transition.duration = 1.0f;  transition.timingFunction = [CAMediaTimingFuncti

2015-04-10 13:55:00 424

转载 [编译报错解决]duplicate symbol _base64_encode解决办法

项目不支持模拟器运行,报下面的错。duplicate symbol _base64_encode in:.../libzbar.a(symbol.o).../tencentOpenAPI(base64.o)说的很清楚,就是这两个库中都定义了_base64_encode,所以编译器就会报错重复定义。查了网上的一些方法,需要用到libtool什么

2015-04-02 19:35:13 2308

转载 Mac OS X"想要进行更改。键入管理员的名称和密码以允许执行此操作("Mac OS X"想使用系统钥匙串)

不知什么时候开始,每次我在运行xcode在真机上,或者archive打包的时间,都会弹出输入用户名和密码的框,搞的烦死了:解决方法:打开钥匙串访问双击那些密钥弹出框:改变到允许所有应用程序访问此项目,输入一次密码即可!!解决!不用每次输入了。嘻嘻。

2015-04-01 17:37:02 707

转载 scrollview 不能滑动

转 在iOS6中,如果像旧版本的资料提到的那样,用IB将一个ScrollView拖到.h文件中创建一个outlet,并在viewDidLoad函数中设置ScrollView的contentSize属性的话,会发现运行的程序中ScrollView可见,但无法拖动。这是因为iOS6中的AutoLayout机制,在viewDidLoad函数被执行后,AutoLayout会重新把conte

2015-03-13 11:41:29 565

原创 ios检测网络变化

[[NSNotificationCenterdefaultCenter] addObserver:self                                            selector:@selector(reachabilityChanged:)                                                name:

2015-02-13 09:39:27 506

原创 iOS应用程序的主要框架

在你开发程序时,主要使用框架就是Foundation和UIKit,因为它们包含了你需要的大部分东西。Foundation框架为所有的应用程序提供基本系统服务        你的应用程序,UIKit和其它的框架都是建立在Foundation框架上面的。Foundation框架是用Object-C对Core Foundation框架里许多特性的封装。       使用Found

2015-01-27 09:13:58 864

转载 iOS—修改AFNetworking源文件可接收text/plain的方法

在使用AFNetworking的时候可能会碰到下面的错误:    { status code: 200, headers {    "Content-Length" = 14;    "Content-Type" = "text/plain;charset=utf-8";    Date = "Thu, 22 May 2014 10:37:50 GMT"; 

2015-01-27 09:09:33 471

转载 ios 后台无限运行

在IOS后台执行是本文要介绍的内容,大多数应用程序进入后台状态不久后转入暂停状态。在这种状态下,应用程序不执行任何代码,并有可能在任意时候从内存中删除。应用程序提供特定的服务,用户可以请求后台执行时间,以提供这些服务。判断是否支持多线程UIDevice* device = [UIDevice currentDevice];  BOOL backgroundSupport

2015-01-16 16:57:19 1406

转载 检测用户向麦克吹气

如果几年前你告诉我人们可以通过晃动手机或向麦克吹气使手机有所动作,我一定会大笑不止。但现在这已经是事实了。检查晃动动作是很直接的,所有这些在3.0“motion event”(动作事件)中都有介绍。检测向麦克吹气困难一点。本教程将建立一个简单的单视图程序,它将在用户向麦克吹气时向控制台写入记录信息。源代码/Github教程源代码可从GitHub获得。 你可以克隆软件仓库或直接下载z

2015-01-16 16:39:02 1066

原创 引导页

首先判断是否第一次登录if([[NSUserDefaultsstandardUserDefaults] isFirstLaunch]){//第一次启动 EAIntroPage *page1 = [EAIntroPagepage];        page1.bgImage = [UIImageimageNamed:@"FirstLaunchImage1"];

2014-12-08 16:59:42 527

原创 iOS手势识别的详细使用(拖动,缩放,旋转,点击,手势依赖,自定义手势)

1、UIGestureRecognizer介绍手势识别在iOS上非常重要,手势操作移动设备的重要特征,极大的增加了移动设备使用便捷性。iOS系统在3.2以后,为方便开发这使用一些常用的手势,提供了UIGestureRecognizer类。手势识别UIGestureRecognizer类是个抽象类,下面的子类是具体的手势,开发这可以直接使用这些手势识别。UITapGestur

2014-11-27 16:12:21 457

原创 多线程学习

创建多线程的方法:1.NSThread *thread = [[NSThread alloc]initWithTarget:selfselector:@selector(downloadImageFromURL:) object:url];// 启动线程[thread start];// 定义一个方法作为线程执行体。-(void)downloadImageFromURL:(

2014-11-07 17:15:14 502

转载 Objective-C在ARC下结合GCD的单例模式和宏模版

单例模式在iOS开发过程中经常用到,苹果提供过objective c单例的比较官方的写法:[cpp] view plaincopystatic MyGizmoClass *sharedGizmoManager = nil;     + (MyGizmoClass*)sharedManager  {      @synchron

2014-09-28 16:32:51 451

转载 ARC使用心得(二)

作者:wangzz原文地址:http://blog.csdn.net/wzzvictory/article/details/16863757转载请注明出处如果觉得文章对你有所帮助,请通过留言或关注微信公众帐号wangzzstrive来支持我,谢谢!四、使用ARC需要注意的问题1、ARC中读写相关的属性读写相关的属性有 readwrite 和 re

2014-09-21 11:50:05 503

转载 ARC使用心得(一)

作者:wangzz原文地址:http://blog.csdn.net/wzzvictory/article/details/16844689转载请注明出处如果觉得文章对你有所帮助,请通过留言或关注微信公众帐号wangzzstrive来支持我,谢谢!写在前面:很久没有更新日志了,最近的一个月经历了一段炼狱般的开发周期,那动不动加班到凌晨几点

2014-09-21 11:47:22 416

转载 单例多线程

iOS开发多线程篇—单例模式(ARC)iOS开发多线程篇—单例模式(ARC)一、简单说明:设计模式:多年软件开发,总结出来的一套经验、方法和工具java中有23种设计模式,在ios中最常用的是单例模式和代理模式。 二、单例模式说明(1)单例模式的作用 :可以保证在程序运行过程,一个类只有一个实例,而且该实例易于供外界访问,从而方便地控制了实例个数,并节约系统资源。

2014-09-20 19:25:38 682

转载 推送

本地推送添加本地推送[cpp] view plaincopy///本地添加  -(void)addLocalPushNotification:(UIButton*)sender;  {                  NSLog(@"%s",__FUNCTION__);      UILocalNot

2014-09-03 09:39:41 549

原创 图片压缩

//sdk中提供了方法可以直接调用 UIImage *img = [UIImage imageNamed:@"some.png"];NSData *dataObj = UIImageJPEGRepresentation(img, 1.0);   //下面是sdk中UIImage.h头文件中的内容 UIKIT_EXTERN NSData *UIImagePNG

2014-08-04 21:11:18 842

原创 面试那些事

面试必须问的一个:单例;//创建一个单例飞机+ (Plane *)sharePlane {//单例不需要释放    static Plane * plane;    if (!plane) {        plane = [[Plane alloc]init];    }    return plane;}

2014-06-17 20:46:46 641

空空如也

空空如也

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

TA关注的人

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