自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 ios7以上二维码的使用

1.核心代码启动摄像头[html] view plain copy- (void)setupCamera  {      // Device      AVCaptureDevice *device = [AVCaptureDevice defaultDeviceWithMediaType:AVMediaTyp

2016-12-22 17:15:00 348

原创 CAD的一些命令,希望对大家有帮助哦!!!

命令:直线:l矩形:rec圆:c偏移:o修剪:tr延伸:ex 空格 空格 点击要延伸线椭圆:el倒圆角:f删除:e正多边形:pol复制:co多阵列:ar多段线:pl分解命令:x填充命令:bh移动:m旋转:ro图层管理器:la格式刷:ma标注:d镜像对称:mi  一、配置图层二、配置标注

2016-12-22 17:06:46 743

原创 如何把CAD中的图层转到另一个中

把CAD中的图层转到另一个图层中:1,选择要转化 的图形,例如:标注的文字2,右键,选择特性,3,在特性里面选择你想更换的图层即可

2016-11-29 11:04:31 10487

原创 iphone app为什么会被打回来的一些情况,如何制止?

app的设置界面、按钮使用了类似iphone的操作方式以及icon的圆角设计 -> 重新设计⋯app的年龄设置太低 -> 改了年龄⋯app里有实物奖励 -> 免责声明,和苹果无关⋯app描述里提了后续版本的功能的字样 -> 删除⋯app有打分的功能 -> 有reject的,也有通过的⋯app需要使用location,没有提示用户 -> 加了提示,允许用户拒绝⋯app没提供测

2016-05-19 17:53:48 445

原创 在开发大型项目的时候,如何进行内存泄露检测的? 内存泄露怎么处理?

如何检测内存泄露:可以通过xcode的自带工具run---start with performance tool里有instruments下有个leaks工具,启动此工具后,运行项目,工具里可以显示内存泄露的情况,双击可找到源码位置,可以帮助进行内存泄露的处理。如何处理:先定位到具体位置, 再解决之。

2016-05-19 17:52:29 1038

原创 drawRect和layoutSubviews的区别

两个方法都是异步执行的,layoutSubviews方便数据计算,drawRect方便视图重绘。layoutSubviews对subviews重新布局layoutSubviews方法调用先于drawRect

2016-05-19 17:40:07 516

原创 用Object-C 写一个冒泡排序

-(void)mySort:(NSMutableArray *)mutArray{id tmpObj = nil;unsigned long flag = mutArray.count-1;//flag :最大脚标while (flag > 0) {int k = flag;flag = 0;for (int j = 0 ; j int order = NSOrderedA

2016-05-19 17:37:19 864

原创 id、nil代表什么?

id id和void *并非完全一样。在上面的代码中,id是指向struct objc_object的一个指针,这个意思基本上是说,id是一个指向任何一个继承了Object(或者NSObject)类的对象。需要注意的是id是一个指针,所以你在使用id的时候不需要加星号。比如id foo=nil定义了一个nil指针,这个指针指向NSObject的一个任意子类。而id *foo=nil

2016-05-19 17:31:17 4049

原创 ViewController的didReceiveMemoryWarning是在什么时候调用的?默认的操作是什么?

当程序接到内存警告时View Controller将会收到这个消息:didReceiveMemoryWarning从iOS3.0开始,不需要重载这个函数,把释放内存的代码放到viewDidUnload中去。这个函数的默认实现是:检查controller是否可以安全地释放它的view(这里加粗的view指的是controller的view属性),比如view本身没有superview并且可以

2016-05-19 17:29:38 1886

原创 ViewController 的loadView、viewDidLoad、viewDidUnload分别是什么时候调用的,在自定义ViewCointroller时在这几个函数中应该做什么工作?

由init、loadView、viewDidLoad、viewDidUnload、dealloc的关系说起init方法在init方法中实例化必要的对象(遵从LazyLoad思想)init方法中初始化ViewController本身loadView方法当view需要被展示而它却是nil时,viewController会调用该方法。不要直接调用该方法。如果手工维护views,必

2016-05-19 17:27:44 1572

原创 tableView的重用机制?

查看UITableView头文件,会找到NSMutableArray*  visiableCells,和NSMutableDictnery* reusableTableCells两个结构。visiableCells内保存当前显示的cells,reusableTableCells保存可重用的cells。  TableView显示之初,reusableTableCells为空,那么tableV

2016-05-19 17:26:21 594

原创 类工厂方法是什么?

类工厂方法的完成是为了向客户提供方便,它们将分配和初始化合在一个步骤中,返回被创建的对象,并进行主动开释处理。这些方法的形式是+ (type)className...(其中className不包括任何前缀)。工厂方法可能不仅仅为了方便使用。它们不但可以将分配和初始化合在一起,还可以为初始化过程提供对象的分配信息。类工厂方法的另一个目的是使类(比如NSWorkspac

2016-05-19 16:58:58 486

原创 主动开释池是什么如何劳动

当您向一个对象发送一个autorelease消息时,Cocoa就会将该对象的一个引用放入到最新的主动开释池。它仍然是个正当的对象,因此主动开释池定义的作用域内的其它对象可以向它发送消息。当程序执行到作用域结束的位置时,主动开释池就会被开释,池中的所有对象也就被开释。1.ojc-c是通过一种"referring counting"(引用计数)的方式来管理内存的对象在开始分配内存(allo

2016-05-19 16:56:10 281

原创 c和obj-c如何混用?

1)obj-c的编译器处理后缀为m的文件时,可以识别obj-c和c的代码,处理mm文件可以识别obj-ccc++代码,但cpp文件必须只能用c/c++代码,而且cpp文件include的头文件中,也不能出现obj-c的代码,因为cpp只是cpp2) 在mm文件中混用cpp直接使用即可,所以obj-c混cpp不是问题3)在cpp中混用obj- c其实就是使用obj-c编写的模块是我们想要的。

2016-05-19 16:53:23 1326

原创 Difference between frame and bounds?
frame和bounds有什么不同?

答案:frame指的是:该view在父view坐标系统中的位置和大小。(参照点是父亲的坐标系统)bounds指的是:该view在本身坐标系统中 的位置和大小。(参照点是本身坐标系统)

2016-05-19 16:48:24 301

原创 .what is difference between NSNotification and protocol?
通知和协议的不同之处?

答案:协议有控制链(has-a)的关系,通知没有。首先我一开始也不太明白,什么叫控制链(专业术语了~)。但是简单分析下通知和代理的行为模式,我们大致可以有自己的理解简单来说,通知的话,它可以一对多,一条消息可以发送给多个消息接受者。代理按我们的理解,到不是直接说不能一对多,比如我们知道的明星经济代理人,很多时候一个经济人负责好几个明星的事务。只是对于不同明星间,代理的事物对象都是不

2016-05-19 16:40:24 511

原创 When we call objective c is runtime language what does it mean?
我们说的oc是动态运行时语言是什么意思?

答案:多态。 主要是将数据类型的确定由编译时,推迟到了运行时。这个问题其实浅涉及到两个概念,运行时和多态。简单来说,运行时机制使我们直到运行时才去决定一个对象的类别,以及调用该类别对象指定方法。多态:不同对象以自己的方式响应相同的消息的能力叫做多态。意思就是假设生物类(life)都用有一个相同的方法-eat;那人类属于生物,猪也属于生物,都继承了life后,实现各自的eat,但是调

2016-05-19 16:38:15 584

原创 iOS中是否支持垃圾回收机制

iOS开发只支持手动内存管理和ARC,Mac开发支持GC垃圾回收机制, 18.8之后弃用了GC,对剑使用ARC

2016-05-19 16:30:47 3022 1

原创 用变量a写出以下定义

a、一个整型数   int a;      b、一个指向整型数的指针 int *a;      c、一个指向指针的指针,它指向的指针是指向一个整型数  int **a;      d、一个有10个整型数的数组  int a[10];      e、一个有10个指针的数组,该指针是指向一个整型数的  int *a[10];      f、一个指向有10个整型数数组的指针 

2016-05-18 16:11:02 1130

原创 isKindOfClass、isMemberOfClass作用分别是什么?

-(BOOL) isKindOfClass: classObj判断是否是这个类或者是这个类子类的实例-(BOOL) isMemberOfClass: classObj判断是否是这个类的实例

2016-05-18 16:06:16 611

原创 谈谈对性能优化的看法,如何做?

从用户体验出发:1、程序logging不要太长2、相同数据不做重复获取3、昂贵资源要重用(cell、sqlite、date)4、良好的编程习惯和程序设计:选择正确的集合对象和算法来进行编程、选择适合的数据存储格式(plist、SQLite)、优化SQLite查询语句5、数据资源方面的优化(缓存和异步加载)解决方案:能够发现问题利用log或工具分析问题原因假设

2016-05-18 15:47:02 2021

原创 什么是沙盒(sandbox)?沙盒包含哪些文件,描述每个文件的使用场景。如何获取这些文件的路径?如何获取应用程序包中文件的路径?

iOS应用程序只能在为该改程序创建的文件系统中读取文件,不可以去其它地方访问,此区域被成为沙盒,所以所有的非代码文件都要保存在此,例如图像,图标,声音,映像,属性列表,文本文件等。默认情况下,每个沙盒含有3个文件夹:Documents, Library 和 tmp。Documents:苹果建议将程序中建立的或在程序中浏览到的文件数据保存在该目录下,iTunes备份和恢复的时候会包括此目录L

2016-05-18 15:42:36 1366

原创 iOS开发-----响应链

当事件发生的时候,响应链首先被发送给第一个响应者(往往是事件发生的视图,也就是用户触摸屏幕的地方)。事件将沿着响应者链一直向下传递,直到被接受并作出处理。一般来说,第一响应这是个视图对象或者其子类,当其被触摸后事件就交由它处理,如果他不处理,时间就会被传递给视图控制器对象UIViewController(如果存在),然后是它的父视图对象(superview),以此类推知道顶层视图。接下来会沿着顶层

2016-05-18 15:39:20 259

原创 对MVC的理解?为什么要用MVC?在Cocoa中MVC是怎么实现的?你还熟悉其他的OC设计模式或别的设计模式吗

MVC是Model-VIew-Controller,就是模型-视图-控制器, MVC把软件系统分为三个部分:Model,View,Controller。在cocoa中,你的程序中的每一个object(对象)都将明显地仅属于这三部分中的一个,而完全不属于另外两个。MVC可以帮助确保帮助实现程序最大程度的可重用性。各MVC元素彼此独立运作,通过分开这些元素,可以构建可维护,可独立更新的程序组建。单例模

2016-05-18 15:33:30 671

原创 #import、#include和@class有什么区别
?

#include c语言中引入一个头文件,但是可能出现交叉编译#import 在OC中引入自己创建的头文件 #import”” 或者系统框架 #import。#import 不会出现交叉编译@class 对一个类进行声明,告诉编译器有这个类,但是类的定义什么的都不知道

2016-05-18 15:30:34 232

原创 简述NotificationCenter、KVC、KVO、Delegate?并说明它们之间的区别?

Notification:观察者模式,controller向defaultNotificationCenter添加自己的 notification,其他类注册这个notification就可以收到通知,这些类可以在收到通知时做自己的操作(多观察者默认随机顺序发通知给 观察者们,而且每个观察者都要等当前的某个观察者的操作做完才能轮到他来操作,可以用NotificationQueue的方式安排观察

2016-05-18 15:27:01 614

原创 什么是序列化和反序列化,可以用来做什么?如何在OC中实现复杂对象的存储

如果你需要存储一个复杂的对象的话,经常要以二进制的方法序列化这个对象,这个过程叫Archiving。如果一个对象需要进行序列化,那么需要遵循NScoding协议,主要有两个方法:-(id)initWithCoder:(NSCoder*)coder;//从coder中读取数据,保存到相应变量中,即反序列化数据。-(void)encodeWithCoder:(NSCoder*)coder;//读取实例

2016-05-18 15:19:04 578

原创 RunLoop是什么?

一个RunLoop就是一个时间处理的循环,用来不停的调度工作以及处理输入时间。使用runloop的目的是让你的线程在有工作的时候忙于工作,而没工作的时候处于休眠状态。runloop的设计是为了减少cpu无谓的空转。

2016-05-18 15:18:03 399

原创 怎样实现一个singleton的类

static LOSingleton * shareInstance;+( LOSingleton *)sharedInstance{    @synchronized(self){//这个东西其实就是一个加锁。如果self其他线程访问,则会阻塞。这样做一般是用来对单例进行一个死锁的保护        if (shareInstance == nil) {       

2016-05-18 15:16:03 533

原创 iOS的动态性

iOS的动态性来自三个方面:动态类型、动态绑定、动态载入、SEL类型 1、动态类型弱类型>(id):在代码的运行阶段判断代码的类型,使用id类型可以让应用在“运行时”使用任何类型来替换。动态类型让程序更加灵活,但是会使数据的统一性降低和代码的可读性。我们常用静态类型强类型>(如NSString),使用静态类型编译器可以完全分析你的代码,这让代码的性能和可预知性更高。2、动态绑定:让

2016-05-18 15:12:17 350

原创 iOS本地数据存储都有哪几种方式?iOS如何实现复杂对象的存储?

NSKeyedArchiver(归档)采用归档的形式来保存数据,该数据对象需要遵守NSCoding协议,并且该对象对应的类必须提供encodeWithCoder:和initWithCoder:方法。NSUserDefaults:用来保存应用程序设置和属性、用户保存的数据。用户再次打开程序或开机后这些数据仍然存在。NSUserDefaults可以存储的数据类型包括:NSData、NSString、N

2016-05-18 15:09:17 1520

原创 堆和栈的区别?

栈区(stack)--由编译器自动分配释放,存放函数的参数值、局部变量的值。堆区(heap)--一般由程序员分配释放。全局区(静态区)(static)--全局变量和静态变量。程序结束后由系统释放。文字常量区--常量字符串存放在这里。程序结束后由系统释放。  程序代码区—存放函数体的二进制文件。栈:只要栈的剩余空间大于所申请空间,系统将为程序提供内存,否则将报异常提示栈溢 出。 堆:首先

2016-05-18 15:06:58 265

原创 线程是什么?进程是什么?二者有什么区别和联系?

线程是CPU独立运行和独立调度的基本单位(可以理解为一个进程中执行的代码片段),进程是资源分配的基本单位(进程是一块包含了某些资源的内存区域)。进程是线程的容器,真正完成代码执行的是线程,而进程则作为线程的执行环境。一个程序至少包含一个进程,一个进程至少包含一个线程,一个进程中的多个线程共享当前进程所拥有的资源。

2016-05-18 15:03:57 330

原创 类变量的@protected ,@private,@public,@package,声明各有什么含义?

上面的几个声明表明的时类成员的作用域,@private作用范围只能在自身类(外界既不可访问,又不能继承);@protected作用范围在自身类和子类,如果什么都不加修饰,默认是@protected(外界不可访问,但是可以继承);@public作用范围最大,可以在任何地方被访问(外界即可访问,又可以继承);@package作用范围在某个框架内

2016-05-18 15:00:18 599

原创 简述OC中内存管理机制。与retain配对使用的方法是dealloc还是release,为什么?需要与alloc配对使用的方法是dealloc还是release,为什么?readwrite,reado

OC使用了一种叫做引用计数的机制来管理对象,如果对一个对象使用了alloc、[Mutable]copy,retain,那么你必须使用相应的realease或者autorelease。也可以理解为自己生成的对象,自己持有。非自己生成的对象,自己也能持有。不在需要自己持有的对象时释放。非自己持有的对象无法释放。生成并持有对象等>,持有对象,释放对象,废弃对象。readwrite(默认):可读可写,表示

2016-05-18 14:56:23 1332

原创 Git和SourceTree合用

1 注册Git账号:链接https://git.oschina.net2 去苹果官网下载SourceTree,并进行安装3 新建项目:点击 "+"弹出如下窗口项目名称:自己取一个,项目描述:就是简单描述自己的项目, 项目语言:自己选,例如Objective-C,Swift,C等等项目属性:可选可不选, ReadMe: 选上。 如果有项目就自己导入

2016-05-18 14:31:41 1651

原创 Xcode 在创建工程时,文件名默认有一个自己专有的前缀

Xcode6开始,点击 target,在XCode最右侧的栏目里面会看到Class Prefix,在此处填写即可。

2016-05-18 11:04:15 2713

翻译 手机抓包教程分享

手机抓包教程分享:http://jingyan.baidu.com/article/a3a3f811ebbd2d8da2eb8ac1.html

2016-05-17 16:30:41 573

转载 iOS开发中常见的宏

链接:http://blog.csdn.net/baihuaxiu123/article/details/51337456

2016-05-12 11:26:21 193

转载 带着大家走进iOS单元测试世界

链接:http://blog.csdn.net/baihuaxiu123/article/details/51357364

2016-05-12 10:24:16 220

空空如也

空空如也

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

TA关注的人

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