自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

天方夜歌的博客

记录代码优化的点滴

转载 iOS安全系列之 HTTPS

转载:http://www.cocoachina.com/ios/20150810/12947.html 如何打造一个安全的App?这是每一个移动开发者必须面对的问题。在移动App开发领域,开发工程师对于安全方面的考虑普遍比较欠缺,而由于iOS平台的封闭性,遭遇到的安全问题相比于Androi...

2017-07-31 16:54:12

阅读数 876

评论数 0

转载 OC温故:面向对象的三大特性(封装,继承,多态)

转自:http://www.cocoachina.com/ios/20141211/10609.html我们都知道,面向对象程序设计中的类有三大特性:继承,封装,多态,这个也是介绍类的时候,必须提到的话题,那么今天就来看一下OC中类的三大特性:一、封装封装就是对类中的一些字段,方法进行保护,不被外...

2017-07-28 14:43:48

阅读数 241

评论数 0

原创 浅谈Block--简单易懂

iOS代码块Block概述代码块Block是苹果在iOS4开始引入的对C语言的扩展,用来实现匿名函数的特性,Block是一种特殊的数据类型,其可以正常定义变量、作为参数、作为返回值,特殊地,Block还可以保存一段代码,在需要的时候调用,目前Block已经广泛应用于iOS开发中,常用于GCD、动画...

2017-07-28 14:11:56

阅读数 211

评论数 0

转载 避免Block的循环引用

什么是循环引用,什么时候发生循环引用 1 循环引用就是当self 拥有一个block的时候,在block 又调用self的方法。形成你中有我,我中有你,谁都无法将谁释放的困局。 self.myBlock = ^{ [self doSomething]; }; +----...

2017-07-24 14:46:18

阅读数 238

评论数 0

转载 weak和assign的区别-正确使用weak、assign

一、区别 1.修饰变量类型的区别 weak 只可以修饰对象。如果修饰基本数据类型,编译器会报错-“Property with ‘weak’ attribute must be of object type”。 assign 可修饰对象,和基本数据类型。当需要修饰对象类型时,MRC时代使用unsaf...

2017-07-24 10:15:37

阅读数 671

评论数 0

转载 堆栈与队列的区别

队列只能在队头做删除操作,在队尾做插入操作.而栈只能在栈顶做插入和删除操作 栈就是一个桶,后放进去的先拿出来,它下面本来有的东西要等它出来之后才能出来 堆是在程序运行时,而不是在程序编译时,申请某个大小的内存空间。即动态分配内存,对其访问和对一般内存的访问没有区别。{堆是指程序运行是申请的动...

2017-07-24 09:36:32

阅读数 528

评论数 0

原创 浅谈MVVM框架

一、MVC简介  MVC是Model-View-Controler的简称               Model——即模型。模型一般都有很好的可复用性,统一管理一些我们需要使用的数据。       View——就是存放视图使用的。       Controller——控制器它负责处理Vie...

2017-07-21 16:23:00

阅读数 19813

评论数 0

原创 推荐一款好用解压RAR、ZIP文件Mac软件,可以输入密码Dr. Unarchiver

推荐一款好用解压RAR、ZIP文件Mac软件,可以输入密码Dr. Unarchiver。    今天工作中Windows发给我一个加密RAR文件,是公司很重要的文件,可是Mac不支持呀,因此我把App Store上支持解压RAR的免费软件都下载下来,一个一个的试用,发现我还是比较喜欢Dr. Un...

2017-07-20 16:25:29

阅读数 5831

评论数 2

原创 AppIcon各种图片的生成使用Prepo工具快速便捷

AppIcon只需要一张1024*1024的图就可以了,具体的icon可以用Prepo工具生成。 软件: 使用方法: OK了,简单吧!!!!!!

2017-07-20 16:07:15

阅读数 884

评论数 0

原创 除NStimer之外GCD倒计时写法

先了解一些基本知识 第一:      Dispatch Source的几种种类:      1、DISPATCH_SOURCE_TYPE_DATA_ADD 变量增加      2、DISPATCH_SOURCE_TYPE_DATA_OR 变量OR      3、DISPATCH_SOURCE_TY...

2017-07-20 14:35:23

阅读数 310

评论数 0

转载 iOS多线程--彻底学会多线程之GCD

转自:http://www.jianshu.com/p/2d57c72016c6 1. GCD简介 什么是GCD呢?我们先来看看百度百科的解释简单了解下概念 引自百度百科 Grand Central Dispatch (GCD) 是Apple开发的一个多核编程的较新的解决方法。它主要用...

2017-07-20 11:52:10

阅读数 292

评论数 0

原创 Apps using background location services must provide a reason that clarifies the purpose of the use

上架App Store被拒 原因:  Apps using background location services must provide a reason that clarifies the purpose of the use, using mechanisms described ...

2017-07-19 09:29:45

阅读数 313

评论数 0

转载 Objective-C 中nil Nil NULL NSNull 之间的区别

转载:http://blog.csdn.net/wxs0124/article/details/50538189 nil 是对一个Objective-C对象赋空值的标签  指向一个对象的指针为空 在objc.h中的定义如下所示: #ifndef nil # if __has_feature(...

2017-07-17 13:59:21

阅读数 388

评论数 0

原创 Xcode8权限问题

iOS10系统下调用系统相册、相机功能会遇到闪退的情况。 调用系统相册报错描述如下: This app has crashed because it attempted to access privacy-sensitive data without a usage descripti...

2017-07-14 17:19:37

阅读数 349

评论数 0

转载 UIResponder

1:首先查看一下关于UIResponder的定义 NS_CLASS_AVAILABLE_IOS(2_0) @interface UIResponder : NSObject //响应链中负责传递事件的方法 - (nullable UIResponder*)nextResponder; ...

2017-07-14 15:17:50

阅读数 307

评论数 0

原创 UIBUtton图片和文字的位置关系封装

在开发过程中我们经常遇到UIBUtton图片和文字的位置关系问题,有四种情况:   1   image在上,label在下  2 image在左,label在右   3 image在下,label在上  4 image在右,label在左  下面我对UIBUtt...

2017-07-14 10:08:11

阅读数 649

评论数 0

转载 深入理解Objective-C:Category

摘要 无论一个类设计的多么完美,在未来的需求演进中,都有可能会碰到一些无法预测的情况。那怎么扩展已有的类呢?一般而言,继承和组合是不错的选择。但是在Objective-C 2.0中,又提供了category这个语言特性,可以动态地为已有类添加新行为。如今category已经遍布于Object...

2017-07-13 11:23:36

阅读数 222

评论数 0

原创 iOS远程推送和本地推送

在植入环信SDK时才知道环信的EaseUI里只写了远程推送,也就是我们只有杀死应用App的时候才能收到通知,本地推送需要我们自己写,因此我研究了一下远程推送和本地推送         网上那么多的学习资料,我就不班门弄斧了,推荐一个学习推送的教程       http://www.j...

2017-07-13 10:14:20

阅读数 147

评论数 0

转载 removeFromSuperviews删除

使用removeFromSuperview的时候发现他的实质并不是将这个视图从内存中移除。而且将一个视图从他的父视图上删除。     大家需要了解计算机删除的本质,标记删除,当你删除一个东西的时候,系统只是将这块内存做了一个标记,表示目前无人使用,但是之前视图的内存地址存在。     所以如果想让...

2017-07-12 16:03:17

阅读数 446

评论数 0

原创 sortedArrayUsingComparator数组排序

先讲解一点小知识:适用于数字,字母排序 NSOrderedAscending的意思是:左边的操作对象小于右边的对象。 NSOrderedDescending的意思是:左边的操作对象大于右边的对象。  NSArray *array...

2017-07-12 15:15:27

阅读数 496

评论数 0

原创 NSUserDefaults的写法问题

我们在写本地化NSUserDefaults时,最好分开写 先:NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; 再:NSString *keys = [defaults  objectForKey@"u...

2017-07-12 10:18:56

阅读数 248

评论数 0

转载 解决UIImage在压缩时失真问题,压缩图片的大小

这个问题解决了一大段时间,甚是头痛!  1.(错误的方法)之前以及网上很多资料都是使用这种方法来压缩图片: /** * 压缩图片 * image:将要压缩的图片 size:压缩后的尺寸 */ -(UIImage*) OriginImage:(UIImage *)image scale...

2017-07-12 10:07:16

阅读数 964

评论数 0

转载 分享Xcode使用技巧(兼容iOS10、iPhone刷机固件、Xcode各版本、内存泄漏检测)

一、兼容iOS10:http://mp.weixin.qq.com/s?__biz=MjM5OTM0MzIwMQ==&mid=2652547529&idx=1&sn=bdbca712415cc6cc68e4f04c855e8441&scene=2&srcid...

2017-07-12 10:00:05

阅读数 409

评论数 0

原创 开发中区分开发环境和生产环境

我们历经千辛万苦把一个应用App写好了,可是我们在上架的时候总会遗留这样那样的问题,导致上架之后出现各种问题,检查之下发现有很多问题是我们忘记区分开发环境和生产环境。上架的时候有的忘记修改造成的,针对这样的问题我们找一个一劳永逸的方法解决它。      在.h文件里自动生成的那部分代码是...

2017-07-12 09:49:24

阅读数 918

评论数 0

原创 UITableView刷新某一部分或某一行

刷新某一部分或某一行 //一个section刷新 NSIndexSet *indexSet=[[NSIndexSet alloc]initWithIndex:2]; [tableview reloadSections:indexSet withRowAnimation:UITable...

2017-07-11 10:41:59

阅读数 201

评论数 0

原创 UITableView取出某一行

取出某一行 /*  取出某一行  */ NSIndexPath *indexPath = [NSIndexPath indexPathForRow:0 inSection:0]; ColorCell *vd =(ColorCell *)[self.colorTableView ...

2017-07-11 10:40:40

阅读数 2354

评论数 0

转载 消息处理之performSelector

performSelector和直接调用方法的区别 performSelector: withObject:是在iOS中的一种方法调用方式。他可以向一个对象传递任何消息,而不需要在编译的时候声明这些方法。所以这也是runtime的一种应用方式。 所以performSelector和直接...

2017-07-11 10:38:27

阅读数 215

评论数 0

转载 iOS 数据存储的常用方式

一、iOS应用数据存储的常用方式 1、XML属性列表(plist)归档 2、Preference(偏好设置)3、NSKeyedArchiver归档(NSCoding) // 所谓归档,是一个过程,即用某种格式来保存一个或者多个对象,以便以后还原这些对象4、SQLite3 5、Core Dat...

2017-07-10 13:42:13

阅读数 290

评论数 0

原创 iOS的沙盒路径

定义: iOS应用程序只能对自己创建的文件系统读取文件,这个“独立”“封闭”“安全”的空间,我们称为沙盒。 注意: 每个应用程序都有自己的独立的存储空间(沙盒)一般来说应用程序间是不可以相互访问。 沙盒路径下的文件: Documents:一般我们需要持久的数据都放...

2017-07-10 09:27:08

阅读数 191

评论数 0

转载 NSTimer的使用

NSTimer 的头文件 /* NSTimer.h Copyright (c) 1994-2015, Apple Inc. All rights reserved. */ #import #import NS_ASSUME_NONNULL_BEGIN @interface...

2017-07-07 15:47:36

阅读数 790

评论数 0

原创 原生的二维码 <AVFoundation/AVFoundation.h>

第一步:添加代理AVCaptureMetadataOutputObjectsDelegate> 第二步:完整代码; {     NSTimer *timer; } //1.初始化捕捉设备(AVCaptureDevice),类型为AVMediaTypeVideo @pr...

2017-07-07 15:39:59

阅读数 318

评论数 0

原创 NSDateFormatter优化以及测试方法CFAbsoluteTimeGetCurrent()

过度的创建NSDateFormatter用于NSDate与NSString之间转换,会导致App卡顿,打开Profile工具查一下性能,你会发现这种操作占CPU比例是非常高的。所以我们需要优化一下。 在iOS 7之前NSDateFormatter线程是不安全的,在iOS 7之后NSDateF...

2017-07-06 10:38:23

阅读数 699

评论数 0

转载 NSLog效率低下的原因以及NSLog宏定义

我是前言 打Log是我们debug时最简单朴素的方法,NSLog对于objc开发就像printf对于c一样重要。但在使用NSLog打印大量Log,尤其是在游戏开发时(如每一帧都打印数据),NSLog会明显的拖慢程序的运行速度(游戏帧速严重下滑)。本文探究了一下NSLog如此之慢的原因,并尝试...

2017-07-05 09:10:30

阅读数 973

评论数 0

原创 NSMutableDictionry保存的数据乱,和NSArray结合得出自己想要的数据

NSMutableDictionry保存的数据 比如{@"nihao ":@"1",@"no ":@"2",@"yes ":@"3",@"th":@&quo...

2017-07-04 15:57:58

阅读数 188

评论数 0

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