自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Swift3.0基础知识学习笔记——开篇

Swift3.0学习笔记 开篇 开启又一次学习之旅。坚持总结与分享。总结 对自己负责、对一个阶段学习的量化指标。分享 赠人玫瑰、手留余香。

2016-11-23 11:53:32 535

原创 iOS开发之常见crash

作为开发人员难免会遇到一些令人匪夷所思的crash.这里我总结几个常见的crash.可以说大多都是平时写代码时严谨点的话完全可以避免的。首先,要说的是类型判断。当我们拿到传过来的一个数组或是字典或者字符串的时候。我们是否应该考虑容错问题。加入服务器给我们传的不是这种类型的数据呢。因此我们以字典为例:NSDictionary  *dict;     if ( dict 

2015-06-11 12:00:38 488

转载 学习iOS编程:我是怎样教媳妇面向对象编程的

简介我老婆 Farhana 想要继续软件开发生涯(之前因为我们的第一个孩子出生,她不得不放弃)。我已经有了一些软件设计和开发的经验,所以这几天我就在试着帮助她学习OOD。由于我早年在软件开发的经验,我总是发现无论一个技术问题看上去多么难搞,只要从现实生活的角度去解释或用对话的方式去讨论总能让它变得更简单。关于OOD,我们已经有了许多成果丰硕的讨论,我觉得有人可能发现这是一个学习OO

2015-03-24 11:55:43 631 1

原创 iOS atomic与nonatomic,assign,copy与retain的定义和区别

atomic和nonatomic用来决定编译器生成的getter和setter是否为原子操作。        atomic                设置成员变量的@property属性时,默认为atomic,提供多线程安全。                在多线程环境下,原子操作是必要的,否则有可能引起错误的结果。加了atomic,setter函数会变成下面这样:             

2014-10-30 16:10:42 413

原创 在iOS上实现二维码功能

如今二维码随处可见,无论是实物商品还是各种礼券都少不了二维码的身影。而手机等移动设备又成为二维码的一个很好的应用平台,不管是生成二维码还是扫码二维码。下面介绍一下如何在苹果iOS设备上使用二维码:1. 扫描二维码(解码)扫描二维码的开源库有很多如 ZBar、ZXing等。在此以ZBar作为例子构建二维码扫码应用。首先在github上下载ZBar SDK地址https://github.com/bm

2014-10-30 16:10:39 1183

原创 IOS-TextField功能方法详解

//初始化textfield并设置位置及大小  UITextField *text = [[UITextField alloc]initWithFrame:CGRectMake(20, 20, 130, 30)]; //设置边框样式,只有设置了才会显示边框样式    text.borderStyle = UITextBorderStyleRoundedRect;  typedef enum { 

2014-10-30 16:10:37 399

原创 程序员的出路

在职业选择上,很多人都会问一个问题,这个职业有什么出路?想得到正确的回答,必须先搞清楚,自己究竟想得到什么东西。对于程序员这个职业,如果你要的是钱,很多的钱,程序员没有出路;程序员工作繁忙,有时不规律,连续着加班很有可能,如果你要的是休闲的生活,程序员没有出路;程序员都是与电脑打交道,工作就是坐着,如果你要的是跟人广泛的交流,而且坐不住,程序员没有出路;写程序都是很逻辑的东西,如果你不喜欢这种解题

2014-10-30 16:10:34 459

原创 UIViewController各个方法的加载顺序

加载过程:一般情况下调用 init方法或者调用initWithNibName方法实例化UIViewController, 不管调用哪个方法都为调用initWithNibName(方法定义如下)- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil接着会调用loadView方法来生成UIView

2014-10-30 16:10:28 408

原创 一些小细节

view是程序与用户交流的主要方式。 布局管理subviews 定义自己的resize行为管理一系列subviewsoverride  subviews的大小的位置转化自己的坐标系和window的坐标系 绘图和动画 在矩形区绘图某些view变化时的直通车 事件处理 接收touch事件参与responder chain 新建和配置view 用IB或手动创建view,然后加到view hierach

2014-10-30 16:10:24 439

原创 [iPhone]XML文件解析 parsing-xml-files NSXMLParser

xml文件解析办法 xml是为了提高web数据交换量而出现的,虽然他现在web应用中并不广泛,但是由于他的格式良好,经常被用做配置文件的格式。比如tomcat的主配置文件server.xml,web.xml等等。 首先我们看一下需求。我们的目的主要是提取xml文件中的特定内容,又因为xml文件本身的格式良好,这种查询是非常有规律的,非常有利于我们 找到需要的信息。有时我们还可能把特定信息写回xm

2014-10-30 16:10:22 405

原创 XML相关知识

1. XML 声明XML 声明是处理指令的一种一个XML 文档最好以一个XML 声明作为开始下面是一个完整的XML 声明在一个XML 的处理指令中必须包括version 属性指明所采用的XML 的版本号而且它必须在属性列表中排在第一位standalone 属性表明该XML 文档是否和一个外部文档类型定义DTD 配套使用encoding 属性则指明了数据所采用的编码标准如果需要显示中文那么编码应该是

2014-10-30 16:10:19 446

原创 史蒂夫 乔布斯(Steve Jobs)在斯坦福大学2005年毕业典礼上的演讲

我今天很荣幸能和你们一起参加毕业典礼,斯坦福大学是世界上最好的大学之一。我从来没有从大学中毕业。说实话,今天也许是在我的生命中离大学毕业最近的一天了。今天我想向你们讲述我生活中的三个故事。不是什么大不了的事情,只是三个故事而已。 第一个故事是关于如何把生命中的点点滴滴串连起来。我在Reed大学读了六个月之后就退学了,但之后作为旁听生又混了十八个月以后才真正离开。我为什么要退学呢?故事从我出生的时候

2014-10-30 16:10:16 542

原创 IPhone官方中文文档网址

http://www.apple.com.cn/developer/mac/library/navigation/ios.html

2014-10-30 16:10:13 422

原创 XCode 常用快捷键

XCode 常用快捷键 Alt-?-Up 在 .m 文件和 .h 文件间切换 ?-Shift-D, When you want to open a file or a symbol definition that’s in your project or in a framework. ?-Shift-E 全屏展开编辑器窗口 Alt-?-Left / Alt-?-Right, 在打开的文件间切

2014-10-30 16:10:10 509

原创 卸载Xcode的方法

控制台里输入 sudo /Developer/Library/uninstall-devtools --mode=all

2014-10-30 16:10:07 643

原创 Cocos2d的安装方法

Cocos2d是IOS平台下最常用的开发引擎了,作为新手初次使用还真不会安装,以下是安装方法 1、下载Cocos2d,地址:de.google.com/p/cocos2d-iphone/downloads/list" >http://code.google.com/p/cocos2d-iphone/downloads/list 2、解压至任意目录 3、打开终端Terminal,在终端中进

2014-10-30 16:10:04 526

原创 Objective-C学习笔记第十六章键/值编码

第十六章键/值编码 在这一章来学习Cocoa提供的另一种间接机制,这种机制不属于Objective-C语言的特性,是一种不同于面向对象编程间接机制的间接机制 这种间接机制包括:直接调用对象的方法、属性的点表示法或设置实例变量来直接更改对象状态                   键/值编码(KVC),间接更改对象状态的方式,实现方法是使用字符串                   描述要更

2014-10-30 16:10:01 464

原创 Objective-C学习笔记第十五章文件加载与保存

第十五章文件加载与保存 Cocoa提供了Core Data,他能在后台处理所有文件内容 Cocoa提供了两个通用的文件处理类:属性列表和对象编码 一、属性列表类 在Cocoa中,有一类名为属性列表的对象,简写为plist。 这些列表包含Cocoa操作的一组对象,Cocoa知道如何将他们保存到文件中并进行加载 属性列表类包括:NSArray、NSDictionary、NSString、NSNumbe

2014-10-30 16:09:58 421

原创 Objective-C学习笔记第十四章AppKit

第十四章AppKit 在这一章将从Foundation Kit框架转移到Application Ki框架,来创建一个可以用于Mac的桌面程序 一、构建项目 进入Xcode,创建一个新Cocoa Application项目,从File菜单选择New Project,选择Cocoa Application,并输入新项目的名称 接下来在建好的项目中添加新的Objective-C类文件,起名字,并确保

2014-10-30 16:09:55 691 1

原创 Objective-C学习笔记第十三章协议

第十三章协议 一、正式协议 正式协议是一个命名的方法列表(与非正式协议一样) 正式协议显示地要求采取协议(与非正式协议不一样),采取协议的办法是在@interface声明中列出协议的名称 采取协议意味着承诺实现协议的所有方法 (正式协议与Java的接口一样) 1、声明协议 以Cocoa的NSCopying协议为例子,采用这个协议意味着你的对象将知道如何复制自己 @protocol NSCopyi

2014-10-30 16:09:52 413

原创 Objective-C学习笔记第十二章类别

第十二章类别 利用Objective-C的动态运行时分配机制,可以为现有的类添加新方法,这种为现有的类添加新方法的方式称为类别catagory,他可以为任何类添加新的方法,包括那些没有源代码的类 类别使得无需创建对象类的子类就能完成同样的工作 一、创建类别 1、声明类别 声明类别与声明类的形式很相似 @interface NSString(NumberConvenience) -(NSNumbe

2014-10-30 16:09:49 411

原创 Objective-C学习笔记第十一章特性

第十一章特性 水果公司在Objective-C 2.0中引入了特性(property),它组合了新的预编译指令和新的属性访问器语法 新的特性显著减少了必须编写的冗长代码 Objective-C 2.0特性只适用于10.5 Leopard之后的版本,特性主要应用于Cocoa的新组件和iPhone之中 一、修改特性值 1、简化代码 举例代码:          接口部分 #import #imp

2014-10-30 16:09:46 383

原创 Objective-C学习笔记第十章对象初始化

第十章对象初始化 创建新对象的两种不同方法: 第一种方法:[类名 new] 第二种方法:[[类名 alloc] init] 这两种方法是等价的,不过Cocoa的惯例是使用alloc和init,而不使用new 一、分配对象alloc 分配allocation是从操作系统获得一块内存并将其指定为存放对象的实例变量的位置 向某个类发送alloc消息就是为该类分配一块足够大的内存,以存放该类的全部实例

2014-10-30 16:09:43 390

原创 Objective-C学习笔记第九章内存管理

第九章内存管理 如果要从事Leopard或更高版本的MacOS程序开发使用Objective-C 2.0的垃圾回收机制,若要从事旧版本MacOS或iPhone开发则要全部阅读本章内容 一、对象生命周期 程序中的对象由生命周期,其周期包括:诞生(alloc或new)、生存(接受消息和执行操作)、                                                    

2014-10-30 16:09:40 378

原创 Objective-C学习笔记第八章Foundation Kit快速教程

第八章Foundation Kit快速教程 一、一些有用的数据类型 NSRange范围 typedef struct  _NSRange{          unsigned int location;          unsigned int length; }NSRange; unsigned int是C语言中的int类型 location用来存放字段范围的起始位置,length是该范围内所

2014-10-30 16:09:37 399

原创 Objective-C学习笔记第七章深入了解Xcode

第七章深入了解Xcode 一、更改自动生成签名的实现类的公司名 在终端中输入 Defaults write com.apple.Xcode PBXCustomTemplateMacroDefinitions ‘{“ORGANIZATIONNAME” = “自定义名字”;}’     快速切换编辑器和文件浏览器           (Command 键)+ (Shift 键)+ E   格式化代码

2014-10-30 16:09:34 434

原创 Objective-C学习笔记第六章原文件组织

第六章原文件组织 一、拆分接口和实现部分 Objective-C的源代码被分为两部分:接口@interface和实现@implementation 接口用来提供类的公共描述,包含了所有使用该类所需的信息,现实中文件名.h结尾   实现告诉编译器如何工作,这部分代码实现了接口中声明的方法,现实中.m结尾、          以.mm结尾会被识别为Objective-C++代码,这样可以同时使用C++

2014-10-30 16:09:31 340

原创 Objective-C学习笔记第五章复合

第五章复合 一、什么是复合composition 编程中的复合就好像音乐中多个乐器组合在一起使用   在Objective-C中,复合是通过包含作为实例变量的对象指针实现的   举例代码:Unicycle类中拥有一个指向Pedal对象的指针和一个指向Tire对象的指针 @interface Unicycle : NSObject {          Pedal *pedal;         

2014-10-30 16:09:28 390

原创 Objective-C学习笔记第四章继承

第四章继承 一、为什么要继承 在面向对象中我们将具有很多重复内容的类中的内容提取出来,写成一个单独的类   其他类只需要继承就能取得这些功能,同时可以在自己类中写入独特的自定义方法   二、继承语法 @interface Circle  :  NSObject 继承是在接口中定义的 冒号后的类名是要集成的类,NSObject是Cocoa中类最原始的类 Objective-C中只能

2014-10-30 16:09:25 391

原创 Objective-C学习笔记第三章面向对象编程

第三章面向对象编程 一、间接(inderection) 即使用某种东西指向你想要的对象,或使用某事物代为办理某种工作 1、变量与间接 举例代码: int i; int count = 5; for(i = 1; i          NSLog(@"%d\n",i); }   其中count就是间接   2、文件名的间接 将处理内容保存到外部文件,使用文件流读取   二、在面向对象编程中使用间接

2014-10-30 16:09:23 398

原创 Objective-C学习笔记第二章对C的扩展

第二章对C的扩展 一、构建Hello Objective-C 建立项目后在.m结尾文件内 代码如下: #import int main(int argc, const char *argv[]) {          NSlog(@"Hello, Objective-C");          return(0); }   代码解读: #import    使用头文件来包

2014-10-30 16:09:20 416

原创 Objective-C学习笔记第一章启程

第一章启程 一、历史背景 Brad Cox发明了Objective-C Steve Jobs史蒂夫乔布斯成立了NeXT并创造了Unix上的NextSTEP语言,被苹果收购后NextSTEP更名为Cocoa 此后Cocoa的所有函数均以NextSTEP的缩写NS开头

2014-10-30 16:09:17 405

原创 【引用】Objective-C 的 self 和 super 详解

在 Objective-C 中的类实现中经常看到这两个关键字 ”self” 和 ”super”,以以前 oop 语言的经验,拿 c++ 为例,self 相当于 this,super 相当于调用父类的方法,这么看起来是很容易理解的。以下面的代码为例: @interface Person:NSObject {     NSString*  name; } - (void) setName:(NSStr

2014-10-30 16:09:14 399

原创 【引用】objective-c copy mutableCopy 拷贝对象

原来不是所有的对象都支持 copy只有遵守NSCopying 协议的类才可以发送copy消息只有遵守NSMutableCopying 协议的类才可以发送mutableCopy消息假如发送了一个没有遵守上诉两协议而发送 copy或者 mutableCopy,那么就会发生异常默认 nsobject没有遵守这两个协议但是 copy和mutableCopy这两个方法是nsobject定义的如果想自定义一下

2014-10-30 16:09:11 439

转载 使用Xcode 6将你的项目本地化

iOS和OSX支持40种语言的本地化,Xcode无疑为这一过程提供了强有力的支持。苹果将这一多语言适配过程细分为Internationalization(国际化)和Localization(本地化)两个阶段。国际化—准备你的APP在将你的APP适配各种语言本地化之前,你得先让你的APP富有国际范儿,也就是说国际化是一条通往本地化的必经之路。在国际化阶段,你需要让你的APP与

2014-10-30 15:00:17 411

转载 iOS工程结构分享

我的iOS工程结构    我就简单介绍下我做iOS项目时使用的工程结构。首先要说的是,这只是我的工程结构,并不是规范,或许它存在很多问题和不规范的地方,我只是把它分享出来,给大家提供一个参考,也希望收到大家的一些反馈来帮助我改进!项目结构下图是我做iOS项目的一个常用工程结构,整体模式还是按照MVC的结构,只是在每一层做了一些细分处理,下面就简单介绍下。iO

2014-10-30 14:58:26 436

转载 理解 Objective-C Runtime

当人们初学 Cocoa/Objective-C 时,Objective-C Runtime 是被忽略的特性之一。原因是 Objective-C(这门语言)很容易在几小时内就熟悉,新学 Cocoa 的人花费他们大部分的时间学习 Cocoa 框架和适应它是如何工作的。然而每个人至少应该知道一些 runtime 的工作细节,需要比知道编译器会把 [target doMethodWith:var1];  

2014-10-30 14:47:06 422

转载 为iPhone 6设计自适应布局

Apple从iOS 6加入了Auto Layout后开始就比较委婉的开始鼓励、建议开发者使用自适应布局,但是到目前为止,我感觉大多数开发者一直在回避这个问题,不管是不是由于历史原因造成的,至少他们在心底还坚守着固定布局的老传统思想。随着iPhone6、iPhone6 Plus的到来,使用自适应布局更是迫在眉睫的事,固定布局的老传统思想脆弱的不堪一击。现在的iPhone有4种尺寸,如果算上i

2014-10-30 14:41:00 451

转载 iOS基础(三)常用的相互转换的类

1、NSdata -> NSString        NSString *aString = [[NSString alloc] initWithData:adataen coding:NSUTF8StringEncoding];2、NSString-> NSData    NSString *aString = @"1234abcd";    NSData *aData

2014-10-29 18:12:25 409

转载 iOS基础(二)iOS 系统目录说明,APP目录使用说明

存放目录需要注意的1:数据问题1.1 只有用户下载的数据放在/Documents里,你app产生的不能放,Documents 会被iCloud自动同步的1.2 下载可以重用的东西放在/Library/Caches里1.3 临时的放/tmp,不用的时候记得删掉1.4 用"do not back up"标记需要留在设备上的数据,那些没联网也可以保证使app运行的数据(别因为连不上网

2014-10-29 18:10:38 1406

空空如也

空空如也

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

TA关注的人

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