自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 iOS的主要框架介绍

框架是一个目录,这个目录包含了共享库,访问共享库里代码的头文件,和其它的图片和声音的资源文件。一个共享库定义的方法或函数可以被应用程序调用。       IOS提供了很多你可以在应用程序里调用的框架。要使用一个框架,需要将它添加到你的项目中,你的项目才可以使用它。许多应用程序都使用了如Foundation、UIKit、和Core Graphics这些框架。根据你为应用程序选择的模版,相关的

2016-09-27 13:44:49 450

转载 ios内存管理原则

1.  内总管理原则(引用计数)    IOS的对象都继承于NSObject,   该对象有一个方法:retainCount ,内存引用计数。 引用计数在很多技术都用到: window下的COM组件,多线程的信号量,读写锁,思想都一样。       (一般情况下: 后面会讨论例外情况)    alloc      对象分配后引用计数为1    retain    对象的引用计数

2016-09-27 09:49:31 569

转载 NSString属性声明中的copy和retain区别

前几天去面试,被问到了NSString属性声明中的copy和retain具体区别,对内存计数的影响,汗,当时没整明白,也没答出来,只知道NSString一般用copy.首先做以下几个变量声明:@property (retain, nonatomic) NSString *retainStr;@property (copy, nonatomic) NSString *copyStr;@proper

2016-09-26 21:08:19 879

原创 MRC环境下语义特性为assign retain copy时,setter和getter方法

1,当把语义特性声明为assign时,setter和getter时方法内部实现- (void)setName:(NSString *)name{ _name = name;}- (NSString *)name{ return _name;}2,当把语义特性声明为retain时,setter和getter方法内部实现- (void)setName:(NSString *)name{

2016-09-26 20:13:15 1436

转载 ARC指南1 - strong和weak指针

参考文献:  iOS ARC 完全指南提示:本文中所说的"实例变量"即是"成员变量","局部变量"即是"本地变量"一、简介ARC是自iOS 5之后增加的新特性,完全消除了手动管理内存的烦琐,编译器会自动在适当的地方插入适当的retain、release、autorelease语句。你不再需要担心内存管理,因为编译器为你处理了一切注意:ARC 是编译器特性,而不是 i

2016-09-25 17:36:36 263

转载 Core Data入门

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

2016-09-25 17:32:59 301

转载 iOS完整学习路线图

今晚特地花时间整理出了iOS的完整学习路线图,希望对大家有帮助

2016-09-25 17:28:48 363

转载 多线程编程2 - NSOperation

一、NSOperation1.简介NSOperation实例封装了需要执行的操作和执行操作所需的数据,并且能够以并发或非并发的方式执行这个操作。NSOperation本身是抽象基类,因此必须使用它的子类,使用NSOperation子类的方式有2种:1> Foundation框架提供了两个具体子类直接供我们使用:NSInvocationOperation和NSBlockOpera

2016-09-25 17:25:22 240

转载 多线程编程3 - NSOperationQueue

一、简介一个NSOperation对象可以通过调用start方法来执行任务,默认是同步执行的。也可以将NSOperation添加到一个NSOperationQueue(操作队列)中去执行,而且是异步执行的。创建一个操作队列:[java] view plain copyprint?NSOperationQueue *queue = [[NSOp

2016-09-25 17:23:09 249

转载 多线程编程1 - NSThread

每个iOS应用程序都有个专门用来更新显示UI界面、处理用户的触摸事件的主线程,因此不能将其他太耗时的操作放在主线程中执行,不然会造成主线程堵塞(出现卡机现象),带来极坏的用户体验。一般的解决方案就是将那些耗时的操作放到另外一个线程中去执行,多线程编程是防止主线程堵塞,增加运行效率的最佳方法iOS支持多个层次的多线程编程,层次越高的抽象程度越高,使用也越方便,也是苹果最推荐使用的方法。下面根据抽

2016-09-25 17:17:12 237

转载 函数响应式编程(FRP)框架--ReactiveCocoa

因为工作原因,有段时间没更新博客了,甚是抱歉,不过,从今天开始我又活跃起来了,哈哈,于是决定每周更新一博,大家互相学习,交流。  今天呢,讨论一下关于ReactiveCocoa,这个采用函数响应式编程(FRP)的框架,以下会对ReactiveCocoa简称为RAC。  之前看过一遍文章,说的是作为一个iOS开发者,写的每一行代码几乎都是在相应某个事件,例如按钮的点击,收到网络消息,属性的变

2016-09-24 23:36:21 631

转载 csdn如何转载别人的文章

转载地址:http://blog.csdn.net/jiangping_zhu/article/details/180441091、找到要转载的文章,用chrome浏览器打开,右键选择审查元素2、在chrome中下方的框里找到对应的内容,html脚本中找到对应的节点,选中节点,网页上被选中内容会被高亮显示,然后右键菜单选中 Copy as HTML3、进入个人”

2016-09-24 23:23:43 286

转载 iOS类别和扩展(Category和Extension)

分类(Category) 分类能够做到的事情主要是:即使在你不知道一个类的源码情况下,向这个类添加扩展的方法。 此外,分类能够保证你的实现类和其他的文件区分开。 1 #import “UIViewController.h”2 @interface UIViewController(CustomView)3 -(void)extMethod;4 @end

2016-09-24 23:20:05 452

原创 iOS面试题

第一部分 C语言面试试题选集 7 1.int a = -45; a的二进制值是?八进制? 7 2.堆和栈的区别? 7 3.请简述文字编码:gb2312.Unicode.utf-8的编码方式? 7 4.static 关键字的作用? 8 5.解释下列变量a的定义?

2016-09-22 00:05:04 1430

转载 NSOperation与performSelectorOnMainThread

在多线程操作中,有一个著名的错误,叫做“Tried to obtain the web lock from a thread other than the main thread or the web thread. This may be a result of calling to UIKit from a secondary thread”,一旦出现这个错误,程序会立即crashed。这是由于

2016-09-21 21:53:22 320

转载 iOS开发之drawRect的作用和调用机制

一、重绘机制iOS的绘图操作是在UIView类的drawRect方法中完成的,所以如果我们要想在一个UIView中绘图,需要写一个扩展UIView 的类,并重写drawRect方法,在这里进行绘图操作,程序会自动调用此方法进行绘图。 重绘操作仍然在drawRect方法中完成,但是苹果不建议直接调用drawRect方法,当然如果你强直直接调用此方法,当然是没有效果的。苹果要求我们调用UIView类

2016-09-20 10:33:56 1176

转载 cocoa和cocoa Touch的区别

cocoa与cocoa Touch区别之分相同之处:两者都包含OC运行时的两个核心框架: cocoa包含Foundation和AppKit框架,可用于开发Mac OS X系统的应用程序 cocoa touch包含Foundation和UIKit框架,可用于开发iPhone OS 系统的应用程序 Cocoa时Mac OS X的开发环境,cocoa Touch是 Iphone OS的开发环境框架:

2016-09-20 09:56:26 419

原创 Socket

Socket是对TCP/IP协议的封装,Socket本身并不是协议,而是实现传输层协议的一种编程API,可以是TCP,也可以是UDP。1、【Socket概念】socket则是对TCP/IP协议的封装和应用(程序员层面上)。也可以说,TPC/IP协议是传输层协议,主要解决数据 如何在网络中传输,而HTTP是应用层协议,主要解决如何包装数据。关于TCP/IP和HTTP协议的关系,网络有一段比较容易理解的

2016-09-18 23:59:15 421

原创 HTTP,Socket,TCP/IP,UDP,FTP总结

一、 HTTP,Socket,TCP/IP,UDP,FTP解析TCP/IP是个协议组(主要解决数据如何在网络中传输),可分为三个层次:网络层、传输层和应用层:网络层:IP协议、ICMP协议、ARP协议、RARP协议和BOOTP协议;传输层:TCP协议与UDP协议;应用层:FTP、HTTP、TELNET、SMTP、DNS等协议 。HTTP是应用层协议,主要解决如何包装数据,其传输都是被包装成T

2016-09-18 23:51:26 764

原创 如何使用xcode配合instruments分析iOS内存泄露

虽然iOS 5.0版本之后加入了arc(自动引用计数)机制,但是有时还是会有内存泄露。这里介绍如何使用xcode配合instruments分析iOS内存泄露。工具/原料xcodeinstruments方法/步骤1.用xcode打开自己的工程,按快捷键command+r 运行需要测试的程序。2.点击xcode导航栏的“show the debug navigator”,切换到debug模式 然

2016-09-18 14:04:07 809

原创 weak和assign的区别

weak比assign多了一个功能就是当属性所指向的对象消失的时候(也就是内存引用计数为0)会自动赋值为nil,这样再向weak修饰的属性发送消息就不会导致野指针操作crash#import "ViewController.h"@interface ViewController ()@property (nonatomic,weak) id weakPoint;@property (non

2016-09-17 22:46:57 740

原创 Objective-C中的属性特性

assign:用于基本数据类型,直接赋值。也可以用于对象,只不过当setter方法赋值时,只是简单存储地址,不会造成引用计数的改变,可以解决循环引用问题。retain:用于对象类型,当赋值时,先将旧值释放,对新值retain引用计数加1copy:用于对象类型,根据实现的NSCopying协议的copyWithZone:方法的不同,可以实现伪拷贝,浅拷贝,深拷贝。readwrite: 可读可写特性。

2016-09-17 22:43:18 572

原创 堆和栈的区别

a.堆栈空间分配区别: 栈:由操作系统自动分配释放,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈,先进后出。 堆:一般由开发人员分配释放,若开发人员不释放,程序结束时由系统回收,分配方式类似于链表,堆区用来开辟的空间和回收空间的操作分别是malloc和free。b.内存分配和读取效率区别: 栈:栈由系统自动分配,速度快,但是程序员无法控制。 堆:堆是由程序员自己分配,速度

2016-09-17 22:27:07 457

转载 二分查找算法

二分查找又称折半查找,优点是比较次数少,查找速度快,平均性能好;其缺点是要求待查表为有序表,且插入删除困难。因此,折半查找方法适用于不经常变动而查找频繁的有序列表。下面介绍四种实现方式一、非模板非递归:二、非模板递归:三、模板非递归:四、模板递归:

2016-09-17 22:19:23 310

原创 如何使用SQLite3操作数据库

直接上代码:#import "StudentController.h"#import "DatabaseHelper.h"#import "Student.h"@interface CLViewController ()@end@implementation CLViewController- (void)viewDidLoad{ [super viewDidLoad]; /

2016-09-13 15:02:31 2647

原创 library not found for -lAFNetworking

从别处拷贝过来的程序在Xcode上运行编译时,出现了这个报错日志:解决方法如下:1.Pods -> Build setting -> Build Active Architecture Only的属性设置为No2.TARGET -> AFNetworking -> Build setting -> Build Active Architecture Only的属性也设置为No

2016-09-13 13:58:34 448

原创 FMDB的使用

废话不多说,直接上代码:#import "NewsViewController.h"#import "FMDatabase.h"#import "NewsCell.h"#import "NewsModel.h"@interface NewsViewController ()<UITableViewDataSource, UITableViewDelegate>@property (nona

2016-09-13 10:18:09 374

转载 CSDN-markdown编辑器语法——字体、字号与颜色

Markdown是一种可以使用普通文本编辑器编写的标记语言,通过类似HTML的标记语法,它可以使普通文本内容具有一定的格式。但是它本身是不支持修改字体、字号与颜色等功能的!CSDN-markdown编辑器是其衍生版本,扩展了Markdown的功能(如表格、脚注、内嵌HTML等等)!对,就是内嵌HTML,接下来要讲的功能就需要使用内嵌HTML的方法来实现。字体、字号与颜色<font face="黑体"

2016-09-12 16:34:08 422

原创 Cocoa Touch框架

iOS – Cocoa Touch简介:iOS 应用程序的基础 Cocoa Touch 框架重用了许多 Mac 系统的成熟模式,但是它更加专注于触摸的接口和优化更加专注于触摸的接口和优化。UIKit 为开发者提供了在 iOS 上实现图形,事件驱动程序的基本工具,其建立在和 Mac OS X 中一样的 Foundation 框架上,包括文件处理,网络,字符串操作等。基于 Objective-C 语言实

2016-09-12 16:21:38 648

转载 解决警告“ld: warning: directory not found for option”

从项目中删除了某个目录、文件以后,编译出现警告信息:ld: warning: directory not found for option“XXXXXX”很奇怪,为什么已经从项目中删除了文件和文件夹还是报这个警告呢?去掉警告的办法如下:1选择工程, 编译的 (targets) 2选择 Build Settings 菜单 3查找 Library Search Paths 和 Framework S

2016-09-12 14:44:21 570

转载 Runtime应用之归档 , KVC , 分类添加属性

1.归档中用到的Runtime,类的属性较多的时候用着比较方便,不用写那么多代码#import <Foundation/Foundation.h>#import <UIKit/UIKit.h>@interface Person : NSObject<NSCoding>@property (nonatomic ,assign)CGFloat height;@property (nonatomi

2016-09-12 14:29:24 655

原创 MVVM初识

1.ViewModel//处理网络获取的数据- (void)handleDataWith:(NSMutableDictionary *)dict Success:(void (^)(NSArray *arr))success failure:(void(^)(NSError *error))failure;//处理网络获取的

2016-09-12 14:12:24 284

转载 Git常用基本操作

基本操作:1.初始化仓库git init2.配置作者信息git config –global user.email “youremail@corp.com”git config –global user.name “yourname”3.添加文件到暂存区git add \filename\git add * (添加所有文件到暂存区)4.移除文件 git rm \filename\

2016-09-11 00:04:31 425

转载 github常用命令

添加已有项目到github:新建repository,可以在github网站上直接新建或者使用windows github工具。进入github repository 项目。在github windows工具中使用git Bash打开项目,使用cd命令进入已有项目根目录下。 $ touch README.md //新建说明文件 $ git init //在当前项目目录中生成本地git管理,并

2016-09-10 23:49:28 258

转载 2016最新版App Store应用审核指南完整版

1.Terms and conditions(法律与条款)作为App Store的应用开发者,你必须接受如下条款:Program License Agreement (PLA),Human Interface Guidelines (HIG),以及任何你与apple签订的许可和合同。以下规则和示例是为了协助你的应用更快通过审核上架,而不是修正或取代之前的条款。2.Functionality(

2016-09-10 00:51:36 1741

原创 Xcode命令Archive导出4个ipa包的含义

在archive时候导包需要选择类型,下面是导出4个包的含义,每一个包都有具体的含义:1.Save for iOS App Store Deployment保存到本地 准备上传App Store 或者在越狱的iOS设备上使用2.Save for Ad Hoc Deployment保存到本地 准备在账号添加的可使用设备上使用(具体为在开发者账户下添加可用设备的udid),该app包是发布证书编译

2016-09-10 00:11:27 3994

转载 常用网站

苹果开源代码 http://www.opensource.apple.com/source/iOS 开发者中心 https://developer.apple.com/devcenter/ios/index.action 苹果申诉——Contact the App Review Team-- https://d

2016-09-08 16:55:41 1316

转载 八一八招聘的那些事儿

八一八招聘的那些事儿最近换了份工作,有一些求职的经历,再加上之前在公司做过一些招聘的事情,对于应聘与招聘有很多的感悟。趁着这感悟还尚未退温,在这职业的空挡期整理一下,记录下来。下面,我将从有工作经验的求职者的角度来八一八我对招聘的一些看法。招聘信息:因为我是在 51job 上投递的简历,所以我了解职位信息的主要途径是通过 51job 上的介绍,而了解公司的信息主要是通过 google。在我浏览过的那

2016-09-08 16:46:35 378

转载 Mac OS X 系统12个常用的文本编辑快捷键(移动、选中)

经常和文字处理打交道?如果多多使用下面这 12 个快捷键,在移动、选择、复制等操作文字时效率会大大提升。6 个移动光标的快捷键 第一组快捷键可以用来在文本中快速移动光标:跳到本行开头 – Command + 左方向键← 跳到本行末尾 – Command + 右方向键→ 跳到当前单词的开头 – Option + 左方向键← 跳到当前单词的末尾 – Option + 右方向键→ 跳到整个文档的

2016-09-08 16:33:07 21912

转载 APP被苹果APPStore拒绝的各种原因

APP被苹果APPStore拒绝的各种原因1、程序有重大bug,程序不能启动,或者中途退出。2、绕过苹果的付费渠道,我们之前游戏里的用兑换码兑换金币。3、游戏里有实物奖励的话,一定要说清楚,奖励由本公司负责,和苹果没有关系。4、用到苹果的标志。(应用的设计和Apple的Logo风格太像了也会被拒)5、网络功能不能正常访问。6、图标不能点击,不能点击的图标要置灰,或者直接隐藏。7、没有设置defaul

2016-09-08 16:28:04 1397

空空如也

空空如也

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

TA关注的人

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