
Objective-C
文章平均质量分 72
阿乐
这个作者很懒,什么都没留下…
展开
-
IOS ARC跟block那点事
【ARC的特性】 ARC下,所有NSObject类型指针, 1. 默认为__strong类型 2. 可以显示的指定为__weak类型,__weak类型指针在所指向对象销毁后会自动置为nil 3. __autorelesing类型用于inout参数类型 ARC下,当一个函数返回一个NSObject指针时,编译器会帮我们实现autorelease调用。转载 2014-12-13 15:13:53 · 387 阅读 · 0 评论 -
IOS学习笔记总结整理
学习IOS开发这对于一个初学者来说,是一件非常挠头的事情。其实学习IOS开发无外乎平时的积累与总结。下面为大家整理了一部分的iOS学习笔记总结整理,希望对大家有所帮助。一.内存管理情况1- autorelease,当用户的代码在持续运行时,自动释放池是不会被销毁的,这段时间内用户可以安全地使用自动释放的对象。当用户的代码运行告一段 落,开始等待用户的操作,自动释放池就会被释放掉(调转载 2014-06-16 09:51:21 · 1033 阅读 · 0 评论 -
UIScrollView的使用大全
UIScrollView 原理详解ScrollView UIScrollView UIScrollView为了显示多于一个屏幕的内容或者超过你能放在内存中的内容。 Scroll View为你处理缩小放大手势,UIScrollView实现了这些手势,并且替你处理对于它们的探测和回应。其中需要注意的子类转载 2014-06-13 20:51:18 · 461 阅读 · 0 评论 -
iOS应用程序生命周期(前后台切换,应用的各种状态)详解
iOS的应用程序的生命周期,还有程序是运行在前台还是后台,应用程序各个状态的变换,这些对于开发者来说都是很重要的。 iOS系统的资源是有限的,应用程序在前台和在后台的状态是不一样的。在后台时,程序会受到系统的很多限制,这样可以提高电池的使用和用户体验。//开发app,我们要遵循apple公司的一些指导原则,原则如下:1、应用程序的状态状态如下:Not running转载 2014-07-04 10:27:41 · 342 阅读 · 0 评论 -
iOS多线程编程之Grand Central Dispatch(GCD)介绍和使用
介绍:Grand Central Dispatch 简称(GCD)是苹果公司开发的技术,以优化的应用程序支持多核心处理器和其他的对称多处理系统的系统。这建立在任务并行执行的线程池模式的基础上的。它首次发布在Mac OS X 10.6 ,iOS 4及以上也可用。设计:GCD的工作原理是:让程序平行排队的特定任务,根据可用的处理资源,安排他们在任何可用的处理器核心上执行任务。转载 2014-07-04 10:22:45 · 451 阅读 · 0 评论 -
Cocoa 框架 For iOS(一) 框架的介绍,Objectivie-C运行时能力的解析等
Cocoa框架是iOS应用程序的基础,了解Cocoa框架,对开发iOS应用有很大的帮助。1、Cocoa是什么?Cocoa是OS X和 iOS操作系统的程序的运行环境。是什么因素使一个程序成为Cocoa程序呢?不是编程语言,因为在Cocoa开发中你可以使用各种语言;也不是开发工具,你可以在命令行上就可以创建Cocoa程序。Cocoa程序可以这么说,它是由一些对象组成,而这些对象的转载 2014-07-04 10:28:24 · 433 阅读 · 0 评论 -
iOS的基本的设计模式
不管创建iOS的哪种类型的应用程序,有几个基本的设计模式和技术在写代码前必须你必须知道。在IOS,系统框架为应用程序提供了最重要的基础设施,在大多数情况下,只能通过系统框架来调用底层的硬件。反过来,框架也使用了很多特别的设计模式,开发应用程序前,我们是假设你很熟悉这些设计模式的。要知道系统怎么支持应用程序的,那就得先理解这些设计模式,这非常重要。你必须知道的最重要的几种设计模式:Mod转载 2014-07-04 10:26:32 · 374 阅读 · 0 评论 -
iOS多线程编程之NSOperation和NSOperationQueue的使用
前一篇 《iOS多线程编程之NSThread的使用》介绍三种多线程编程和NSThread的使用,这篇介绍NSOperation的使用。使用 NSOperation的方式有两种,一种是用定义好的两个子类:NSInvocationOperation 和 NSBlockOperation。另一种是继承NSOperation如果你也熟悉Java,NSOper转载 2014-07-04 10:22:47 · 417 阅读 · 0 评论 -
iOS多线程编程之NSThread的使用
1、简介:1.1 iOS有三种多线程编程的技术,分别是:1.、NSThread 2、Cocoa NSOperation (iOS多线程编程之NSOperation和NSOperationQueue的使用)3、GCD 全称:Grand Central Dispatch( iOS多线程编程之Grand Central Dispatch(GCD)介绍和使用)这三转载 2014-07-04 10:20:35 · 350 阅读 · 0 评论 -
NSURLRequest的官方文档
OverviewNSURLRequest objects represent a URL load request in a manner independent of protocol and URL scheme.NSURLRequest encapsulates two basic data elements of a load request: the URL to load, a转载 2014-07-03 00:23:30 · 2037 阅读 · 0 评论 -
iOS网络编程之Socket
一,iOS网络编程层次模型在前文《深入浅出Cocoa之Bonjour网络编程》中我介绍了如何在Mac系统下进行 Bonjour 编程,在那篇文章中也介绍过 Cocoa 中网络编程层次结构分为三层,虽然那篇演示的是 Mac 系统的例子,其实对iOS系统来说也是一样的。iOS网络编程层次结构也分为三层:Cocoa层:NSURL,Bonjour,Game Kit,WebKit转载 2014-07-02 15:44:16 · 674 阅读 · 0 评论 -
Block 原理详解
介绍Block 对象是C语言层面的语法,也是一个运行时特性. 它们很类似与标准的C函数,但是除了可执行的代码,它们还包含了与自动(栈)或托管(堆)的内存所绑定的变量。因此一个block维护了一系列的状态(即数据),在执行时会改变代码的行为。你可以使用blocks编写函数表达式当参数传入API,也可以将其保存下来用于多线程。Blocks在回调中非常有用,因为block不仅包含着回调时转载 2014-06-20 15:31:14 · 6618 阅读 · 0 评论 -
objdelegate respondsToSelector 方法的用法
-(BOOL) isKindOfClass: classObj 用来判断是否是某个类或其子类的实例-(BOOL) isMemberOfClass: classObj 用来判断是否是某个类的实例-(BOOL) respondsToSelector: selector 用来判断是否有以某个名字命名的方法(被封装在一个selector的对象里传递)+(BOOL) instancesRespo原创 2014-06-20 16:07:02 · 635 阅读 · 0 评论 -
iOS中使用 Reachability 检测网络
如果你想在iOS程序中提供一仅在wifi网络下使用(Reeder),或者在没有网络状态下提供离线模式(Evernote)。那么你会使用到Reachability来实现网络检测。 写本文的目的了解Reachability都能做什么检测3中网络环境2G/3Gwifi无网络如何使用通知单个controller多个controller简单的功能:仅在wifi转载 2014-11-03 11:27:25 · 459 阅读 · 0 评论 -
ios 排序汇总
IOS几种简单有效的数组排序方法//第一种,利用数组的sortedArrayUsingComparator调用 NSComparator ,obj1和obj2指的数组中的对象[plain]NSComparator cmptr = ^(id obj1, id obj2){ if ([obj1 integerValue] > [obj2 integerValue]) {转载 2014-09-03 13:56:46 · 487 阅读 · 0 评论 -
IOS单例模式(Singleton)
单例模式的意思就是只有一个实例。单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。这个类称为单例类。1.单例模式的要点: 显然单例模式的要点有三个;一是某个类只能有一个实例;二是它必须自行创建这个实例;三是它必须自行向整个系统提供这个实例。2.单例模式的优点: 1.实例控制:Singleton 会阻止其他对象实例化其自己的 Singleton 对象的副本转载 2014-09-03 11:28:16 · 325 阅读 · 0 评论 -
自定义Delegate(协议)的实现与继承
举个例子,也谈谈我对delegate和protocol的理解。我上班的工作主要内容包括 (1)写代码(2)写文档(3)测试程序(4)接电话(5)会见客户(1)(2)我自己全权负责,但是后面(3)(4)(5)我不想或者不方便自己做,所以我想找个助手(delegate)帮我做这些事,于是我定了一个招聘要求(Protocol),里写明我的助手需要会做(3)(4)(5)这三件事。很快,我招到一个助转载 2014-09-02 16:11:36 · 380 阅读 · 0 评论 -
SEL类型整理
Objective-C在编译的时候,会根据方法的名字(包括参数序列),生成一个用 来区分这个方法的唯一的一个ID,这个ID就是SEL类型的。我们需要注意的是,只要方法的名字(包括参数序列)相同,那么它们的ID都是相同的。就是 说,不管是超类还是子类,不管是有没有超类和子类的关系,只要名字相同那么ID就是一样的。我们可以方便的通过方法的名字,获取到方法的ID也就是我们所说的SEL,反之亦原创 2014-09-02 16:07:33 · 655 阅读 · 0 评论 -
Objective-c开发之----NSNotification使用
1. 通告和委托的区别通告也能传递与事件相关的数据。通告不同于委托的地方在于,通告是在对象执行完成动作之后产生,而不是之前。受到通告的对象没有机会建议是否要执行动作,而且对象的通告可以有多个监听者(observer),但是只有一个委托对象。 2. 通告的工作机制a.对应用程序中其他地方发生的事件(比如增加一条数据库记录)感兴趣的对象,会向通告中心转载 2014-03-12 13:38:46 · 2456 阅读 · 0 评论 -
Cocoa 框架 For iOS(二)对象的分配初始化、内省、单例
接上一篇 Cocoa 框架总结For iOS(一) ,继续总结Cocoa对象1、Cocoa对象的创建我们都知道创建一个对象有两步:alloc 和 init(对象分配和初始化),两步缺一不可。初始化一般都是紧接着对象分配的后面进行,但是这两个操作的作用是完全不同的。分配对象:就是Cocoa从应用程序的虚拟内存中为对象分配一块内存。Cocoa会根据对象的实例变量(类型和变量的排列顺序)转载 2014-07-04 10:29:16 · 567 阅读 · 0 评论 -
IOS开发网络篇之──ASIHTTPRequest下载示例(支持断点续传)
在工程中,我们会常常遇到需要下载的程序,比如下载在线音乐、下载图片等等,今天我将介绍一下利用ASIHTTPRequest的下载示例,支持断点续传,利用ASIHTTPRequest下载以及断点续传的原理在我的博客:http://blog.youkuaiyun.com/pjk1129/article/details/6575588中有具体的介绍,今天重点介绍如何实现,废话少说,开始正文: 一、创建网转载 2014-07-02 15:39:03 · 404 阅读 · 0 评论 -
IOS开发网络篇之──ASIHTTPRequest详解
ASIHTTPRequest 详解, http 请求终结者版权归旺财勇士所有〜转载需声名〜原贴地地址:http://wiki.magiche.net/pages/viewpage.action?pageId=2064410被李旭添加,被李旭最后更新于Mar 25, 2011 (查看更改)目录目录发起一个同步请求创建一个异步请求队转载 2014-07-14 09:58:42 · 342 阅读 · 0 评论 -
ios delegate 用法
主要涉及到两个文件。第一个文件,我称之为定义delegate的文件,要做的事:1. 在BorderDetectionViewController.h中做两件事(1)@protocol BorderDetectionViewControllerDelegate - (void)dismissBorderDetectionView;@end(2)原创 2014-06-21 16:09:12 · 1809 阅读 · 0 评论 -
ios网络编程(http、socket)
http编程综述:亦可称为soap编程。通常情况下,http编程要比socket编程相对要简单易用得多。所以用的最广广泛。一、http编程其实就是http请求。http请求最长用的方法是 get 和 post 方法。==》get方法和post方法相比理解起来比较简单,get方法可以直接请求一个url,也可以url后面拼接上参数作为一个新的url地址进行请求。get方法后面的value要经过转载 2014-07-02 15:38:19 · 426 阅读 · 0 评论 -
iOS网络通信http之NSURLConnection
移动互联网时代,网络通信已是手机终端必不可少的功能。我们的应用中也必不可少的使用了网络通信,增强客户端与服务器交互。这一篇提供了使用NSURLConnection实现http通信的方式。 NSURLConnection提供了异步请求、同步请求两种通信方式。1、异步请求 iOS5.0 SDK NSURLConnection类新增的sendAsynch转载 2014-07-02 16:56:03 · 523 阅读 · 0 评论 -
iOS网络编程之NSStream
一,NSStream简介首先来回顾下。在前文《[深入浅出Cocoa]iOS网络编程之Socket》中,提到iOS网络编程层次模型分为三层:Cocoa层:NSURL,Bonjour,Game Kit,WebKitCore Foundation层:基于 C 的 CFNetwork 和 CFNetServicesOS层:基于 C 的 BSD socket前文《iOS网络编转载 2014-07-02 15:44:25 · 493 阅读 · 0 评论 -
Objective-C 基础,类和对象,方法和消息,已声明的属性和存取方法,块对象,协议和范畴类,预定义类型和编码策略
如果你刚开始接触 iOS 或 Mac OS X 编程,首先要学习一点编程语言 Objective-C 入门知识。Objective-C 并不是一门复杂的语言,经过一段时间的接触,你就能体会到它的优雅。Objective-C 语言实现了严格的面向对象编程。它扩展了标准 ANSI C 语言,增加了定义类和方法的语法。它还推行类和接口的动态扩展性,使任何类都能适配和采用。如果你已经掌握了 ANS转载 2014-03-24 10:23:11 · 647 阅读 · 0 评论 -
Objective-C中一种消息处理方法performSelector: withObject:
Objective-C中调用函数的方法是“消息传递”,这个和普通的函数调用的区别是,你可以随时对一个对象传递任何消息,而不需要在编译的时候声明这些方法。所以Objective-C可以在runtime的时候传递人和消息。 首先介绍两个方法 SEL和@selector根据AppleObjective-C Runtime Reference官方文档这个传递消息的函数就是 id o转载 2014-05-04 09:59:56 · 478 阅读 · 0 评论 -
Objective-C开发之----NSURL
1:NSURL初始化方法: NSURL *url=[NSURL URLWithString:@"http://www.baidu.com?id=1"]; 2:解决NSURL初始化失败的相关解决方案.将传进来的NSString 进行 UTF8 转码即可.1:针对 URLWithString 初始化失败的原创 2014-03-12 11:35:53 · 668 阅读 · 0 评论 -
iOS 开发 :Navigation Bar 的简单实现
前面的一篇文章《iOS开发16:使用Navigation Controller切换视图》中的小例子在运行时,屏幕上方出现的工具栏就是Navigation Bar,而所谓UINavigationItem就可以理解为Navigation Bar中的内容,通过编辑UINavigationItem,我们可以使得在Navigation Bar中显示想要的东西,比如设置标题、添加按钮等。这篇博客将会以转载 2014-03-20 15:44:08 · 525 阅读 · 0 评论 -
objective-c中的特性
一,retain, copy, assign区别 概念: assign: 简单赋值,不更改索引计数(reference counting)。 copy: 建立一个索引计数为1的对象,然后释放旧对象 retain:释放旧的对象,将旧对象的值赋予输入对象,再提高输入对象的索引计数为1 例: nsstring *pt = [[nsstring alloc] initw原创 2014-03-19 16:08:31 · 367 阅读 · 0 评论 -
Objective-C 总结
1. 在objective-c中使用#import2. 基本数据类型总结 2.1 基本数据类型分类 1) 整型 int,short int, long int 2) 浮点型 float, double 3) 字符型 char原创 2014-03-19 14:32:16 · 496 阅读 · 0 评论 -
UIViewController的生命周期及iOS程序执行顺序
当一个视图控制器被创建,并在屏幕上显示的时候。 代码的执行顺序1、 alloc 创建对象,分配空间2、init (initWithNibName) 初始化对象,初始化数据3、loadView 从nib载入视图 ,通常这一步不需要去干涉。除非你没有使用xib文件创建视图转载 2014-03-19 16:41:25 · 484 阅读 · 0 评论 -
Objective-C语法之----NSFileManager的使用(文件操作)(
1、文件的创建-(IBAction) CreateFile{//对于错误信息NSError *error;// 创建文件管理器NSFileManager *fileMgr = [NSFileManager defaultManager];//指向文件目录NSString *documentsDirectory= [NSHomeDirect原创 2014-03-12 10:11:27 · 480 阅读 · 0 评论 -
Objective-C开发之----atomic与nonatomic,assign,copy与retain的定义和区别
atomic和nonatomic用来决定编译器生成的getter和setter是否为原子操作。 atomic 设置成员变量的@property属性时,默认为atomic,提供多线程安全。 在多线程环境下,原子操作是必要的,否则有可能引起错误的结果。加了atomic,setter函数会变成下面这样原创 2014-03-12 11:16:22 · 2830 阅读 · 0 评论 -
Objective-C开发之----NSString常用方法
NSString --实例化方法-------------- NSString *str = [[NSString alloc] init]; NSString *str = [[[NSString alloc] init] autorelease]; 注意:在NSString 中存在自己的实例化和初始化的方法 例如: NSString *str1 = [NSStrin原创 2014-03-12 11:15:01 · 437 阅读 · 0 评论 -
IOS 关键字self,super,copy, retain, assign , readonly , readwrite, nonatomic、@synthesize、@property、@dyna
#synthesize关键字: 根据@property设置,自动生成成员变量相应的存取方法,从而可以使用点操作符来方便的存取该成员变量 。@implementation 关键字,表明类的实现 @end 结束self 关键字 :类似于java中的this,是隐藏参数,指向当前调用方法的类。super 关键字 :调用父类的方法。self = [superinit] 这里不转载 2014-03-24 10:33:14 · 472 阅读 · 0 评论 -
iOS之UIActionSheet的使用
UIActionSheet是在iOS弹出的选择按钮项,可以添加多项,并为每项添加点击事件。为了快速完成这例子,我们打开Xcode 4.3.2, 先建立一个single view application。然后再xib文件添加一个button,用来弹出sheet view。1、首先在.h文件中实现协议加代码的地方在@interface那行的最后添加,协议相当于java里的接口,实现转载 2014-03-26 17:19:19 · 488 阅读 · 0 评论 -
iOS网络编程之CFNetwork
一,CFNetwork 简介首先来回顾下。在前文《[深入浅出Cocoa]iOS网络编程之Socket》中,提到iOS网络编程层次模型分为三层:Cocoa层:NSURL,Bonjour,Game Kit,WebKitCore Foundation层:基于 C 的 CFNetwork 和 CFNetServicesOS层:基于 C 的 BSD socket前文讲的是最底转载 2014-07-02 15:42:05 · 518 阅读 · 0 评论 -
IOS之同步请求、异步请求、GET请求、POST请求
1、同步请求可以从因特网请求数据,一旦发送同步请求,程序将停止用户交互,直至服务器返回数据完成,才可以进行下一步操作,2、异步请求不会阻塞主线程,而会建立一个新的线程来操作,用户发出异步请求后,依然可以对UI进行操作,程序可以继续运行3、GET请求,将参数直接写在访问路径上。操作简单,不过容易被外界看到,安全性不高,地址最多255字节;4、POST请求,将参数放到body里转载 2014-07-01 14:26:42 · 406 阅读 · 0 评论