![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
黑马程序员—ios新手开发知识
文章平均质量分 79
heyuchang666
这个作者很懒,什么都没留下…
展开
-
黑马程序员—ios发展历史
苹果iOS是由苹果公司开发的手持设备操作系统。苹果公司最早于2007年1月9日的Macworld大会上公布这个系统,最初是设计给iPhone使用的,后来陆续套用到iPodtouch、iPad以及AppleTV等苹果产品上。iOS与苹果的MacOSX操作系统一样,它也是以Darwin为基础的,因此同样属于类Unix的商业操作系统。原本这个系统名为iPhoneOS,直到2010年6月7日WWDC大会上宣布改名为iOS。原创 2014-12-18 11:32:08 · 782 阅读 · 0 评论 -
Object-C中分类
有的时候,我们需要对原有的类添加一些功能(方法)作为源类扩展,他的功能是扩展类的能力。分类需要注意的地方:1:尽管分类可以访问原始类的实例变量,但是他不能添加自身的任何变量,如果需要添加变量,可以考虑创建子类。2:分类可以重载该类的另一个方法,但是通常认为这种做法是卑劣的设计习惯。第一:重载一个方法后,再也不能访问原来的方法,因此,必须小心将被重载方法中的所有功能复制到替换方法中,如果确实需要重载方法,可以考虑常见子类,如果在子类中重载方法,仍然可以通过想super发送消息类来引用父类的方法。因原创 2014-12-23 19:48:10 · 539 阅读 · 0 评论 -
Object-C中nil, NULL和NSNull
控制处理不当是引起程序错误乃至崩溃的重要原因之一。 因为Object-C的集合对象,如NSArray、NSDictionary、NSSet等,都有可能包含NSNull对象,所以,如果一下代码中的item为NSNull,则会引起程序崩溃。原创 2014-12-23 15:54:39 · 597 阅读 · 0 评论 -
Object-C Categories和Protocols
Category要扩展一个不可修改的类,通常的做法是为该类创建一个子类,在子类中实现想要实现的方法,在Object-C中,可以通过category来实现,并且实现方式更为简单。现在有如下定义:一个包含4个方法的Fraction类原创 2014-12-24 09:33:52 · 426 阅读 · 0 评论 -
Objective-C语法快速参考
Objective-C语法快速参考一、XCode、Objective-C、Cocoa说的是几样东西?答案:三样东西。 XCode:你可以把它看成是一个开发环境,就好像Visual Studio或者Netbeans或者SharpDevelop一样的玩意。你可以将Interface Builder认为是Visual Studio中用来画界面的那部分功能单独提出来的程原创 2014-12-24 11:28:41 · 846 阅读 · 0 评论 -
初学者:介绍NSLog的使用
可能你曾经有过Windows编程的经验,通常在你调试程序的时候,如果希望看到某个中间结果,你会习惯使用MessageBox来显示中间的结果。有了Cocoa的NSLog,你在写Cocoa程序的时候,就可以无需每次都调用NSAlert来观察中间结果了。NSLog的定义NSLog定义在NSObjCRuntime.h中,如下所示:原创 2014-12-24 14:31:52 · 585 阅读 · 0 评论 -
C++和Objective-C混编(官方文档翻译)
Using C++ With Objective-C 苹果的Objective-C编译器允许用户在同一个源文件里自由地混合使用C++和Objective-C,混编后的语言叫Objective-C++。有了它,你就可以在Objective-C应用程序中使用已有的C++类库。Objective-C和C++混编的要点 在Objective-C++中,可以用C++代码调用方法也可以从Objective-C调用方法。在这两种语言里对象都是指针,可以在任何地方使用。例如,C++类可以使用Objecti原创 2014-12-24 15:12:07 · 862 阅读 · 0 评论 -
从C/C++语言到Objective-C语言
从C/C++语言到Objective-C语言Objective-C,通常写作ObjC和较少用的Objective C或Obj-C,是扩充C的面向对象编程语言。所以有一定C/C++语言基础理解和掌握Objective-C也会相应的快些。这回,我们将比较着学习Objective-C语言,掌握其语法并理解其思想。语法让我们先来看看C++和Objective-C中对于类的宣言 :原创 2014-12-24 15:34:35 · 1609 阅读 · 5 评论 -
Object-关于NSAutoReleasePool的理解
Cocoa的内存管理主要依赖于Reference Counting, 而NSAutoReleasePool就是用来支持它的. autorelease pool中存放的对象会在其自身干枯(drain)时被release. 我们都知道当一个object的release方法被触发时, 这个对象就被销毁了, 再也不能对它有任何引用, 否则就会出现异常. 但如果在销毁它时触发的是autorelease方法, 那这个object就进入了对应的autorelease pool, 它的生命就被延长了(当pool dra原创 2014-12-24 11:14:56 · 527 阅读 · 0 评论 -
Object—C详细编程(三)-@property和@synthesize
简单点说,属性就是一种支持访问对象成员变更的快捷的方法,可以自动的生成setter和getter方法(setter只支持传一个参数)。 面向对象思想的基本特点为封装、继承、多态。封装性主要体现在无法直接访问对象成员变量,如果需要的话,通过setter和getter方法访问成员变量。这样的话,通常要为每一个支持外边访问的成员变量写两个方法,这种操作比较繁琐且无意义。通过@property可以简化这种方法。原创 2014-12-25 14:17:05 · 609 阅读 · 0 评论 -
Object-C详细编程教程(一):类定义与实现
#import <Foundation/Foundation.h>//引入框架头文件,告诉编译器依赖其中的类@interface MyClass : NSObject {//@interface申明一个新类 类名:基类@public//公开成员变量 NSString *name;//字符串成员变量声明@private//私有成员变量 int age;//整形成员变量}原创 2014-12-25 09:57:07 · 1053 阅读 · 0 评论 -
Object-C详细编程(二)—封装,继承,多态
封装,继承,多态面向对象的三大特点封装、继承、多态封装:隐藏内部实现,稳定外部接口. 封装的实现: 属性:封装了实例变量 方法:封装了具体的实现代码 类:封装了属性和方法原创 2014-12-25 14:08:24 · 729 阅读 · 0 评论 -
Object—C编程详解(四)-协议(protocol)
协议协议的功能类似于c++中对抽象基类的多重继承。协议是多个类共享方法的列表。协议中列出的方法在本类中并没有相应的实现,而是由别的类来实现这些方法。如果一个类要遵守一个协议,该类就必须实现特定协议的所有方法(可选方法除外)。非正式协议非正式协议是NSObject类(显而易见,还包括它的子类)的类别,其所有的子类都含蓄地接受了这个协议。(类别是Objective-C的一个语言特点,可以让你在无需子类化的前提下为一个类增加方法。)非正式协议中的方法是否实现都是可选的,因此在调用非正式协议中的方法之前原创 2014-12-25 17:58:30 · 686 阅读 · 0 评论 -
Object-c的类别
其实类别跟C#的部分类(partial)有写相似,只是在类别中不能添加属性(似乎只能添加方法)。原创 2014-12-23 19:46:39 · 602 阅读 · 0 评论 -
Objective-C与C++的不同与相同
O-C中所有的类都必须继承自NSObject。 O-C中所有对象都是指针的形式。 O-C用self代替this。 O-C使用id代替void*。 O-C使用nil表示NULL O-Ck只支持单继承。 O-C使用YES/NO表示TRUE/FALSE O-C使用#import代替#include O-C中用消息表示类的方法,并采用[aInstance method:argv]调用形式。 O-C支持反射机制 O-C支持Dynamic Typing, Dynamic Binding和Dynami原创 2014-12-23 18:08:20 · 584 阅读 · 0 评论 -
黑马程序员—Object c 基础知识
文件类型说明:.h 头文件,用于定义类、实例变量及类中的方法等定义信息(interface)。.m 源文件,定义方法体,可实现objce-c和c方法(implementation)。.mm c++源文件引用头文件:可通过#import关键字引入想要使用的头文件,该关键字作用通#include相同,不过import会确保每个文件只会被引用一次。原创 2014-12-23 09:41:22 · 672 阅读 · 0 评论 -
黑马程序员—ios开发环境xcode介绍
Xcode 是苹果公司开发的编程软件,是开发人员建立OS X 和 iOS 应用程序的最快捷方式。Xcode 具有统一的用户界面设计,编码、测试、调试都在一个简单的窗口内完成。原创 2014-12-18 11:39:59 · 1712 阅读 · 0 评论 -
黑马程序员—IOS基本控件
IOS中最常用到的控件UIButton、UISlider、UISwitch、UISegmentedControl通过Xib文件拖动生成非常简单,其实用代码实现也是一样的简单,当然,用代码实现能够掌握到更多的东西...原创 2014-12-18 14:46:06 · 505 阅读 · 0 评论 -
黑马程序员—IOS环境搭建与开发入门(二)注册开发者账号
如果你是一个开发团队,在你打算掏腰包购买iOS开发者授权之前,最好先问一下你的同事,是否已经有人获得了开发许可,因为一个开发许可一年内最多可以授权给111个设备来开发测试。如果你没有授权许可可以借用,或者你打算最终在iTunes Store中以自己的名义发布你的应用,那么就准备一张国际信用卡,准备支付99美元来申请一个iOS开发者授权。原创 2014-12-18 12:53:51 · 641 阅读 · 0 评论 -
黑马程序员—IOS按钮用法与属性实例
OBShapedButton是一个开源的非正规矩形的iOS按钮控件,是UIButton的子类,可以用于iPhone、iPad。虽然可以用图标来实现非矩形的按钮形状效果,但是使用OBShapedButton的好处是界面响应消息的区域只是按钮绘制的地方。原创 2014-12-18 14:10:09 · 510 阅读 · 0 评论 -
黑马程序员—iOS- <项目笔记>UI控件常见属性总结(上)
UIView是用户构建界面的基础,所有的控件都是在这个页面上画出来的,你可以把它... 今天就简单的介绍了一下IOS应用开发常用的一些控件,还有基础的UIView,UIWindow原创 2014-12-18 15:05:49 · 685 阅读 · 0 评论 -
黑马程序员—iOS的基本的设计模式
不管创建iOS的哪种类型的应用程序,有几个基本的设计模式和技术在写代码前必须你必须知道。在IOS,系统框架为应用程序提供了最重要的基础设施,在大多数情况下,只能通过系统框架来调用底层的硬件。反过来,框架也使用了很多特别的设计模式,开发应用程序前,我们是假设你很熟悉这些设计模式的。要知道系统怎么支持应用程序的,那就得先理解这些设计模式,这非常重要。原创 2014-12-18 16:58:50 · 551 阅读 · 0 评论 -
黑马程序员—iOS- <项目笔记>UI控件常见属性总结(下)
UIView是用户构建界面的基础,所有的控件都是在这个页面上画出来的,你可以把它... 今天就简单的介绍了一下IOS应用开发常用的一些控件,还有基础的UIView,UIWindow原创 2014-12-18 15:11:02 · 695 阅读 · 0 评论 -
黑马程序员—IOS环境搭建与开发入门注册APPLE ID(一)
苹果帐户(Apple ID)是苹果公司为其产品(如iWork、iTunes Store和Apple Store)所引入的认证系统。Apple ID作为一个全功能于一身的帐户,允许用户访问苹果的各种资源。因为一个Apple ID可以被用于由苹果提供的多个产品和服务,它也可以称为Apple账户、MobileMe账户、.Mac账户、iTunes Store账户和iChat账户原创 2014-12-18 12:49:58 · 1156 阅读 · 0 评论 -
黑马程序员—IOS控件UITableView详解
IOS控件UITableView详解终于写到了UITableView,用处最广的一个控件,当然也是要记相当多东西的一个控件。首选创建一个新的项目,并添加一个MainViewController的Class文件打开MainViewController.h文件原创 2014-12-18 15:26:20 · 575 阅读 · 0 评论 -
黑马程序员—IOS与Android
入门难度Android操作系统上的各种应用开发,大多数都是使用JAVA开发的,用在Dalvik虚拟机上,其中的很少的部分用NDK,相对来说上手就比较容易了。iOS是用OC来开发的,如果要想学iOS,不只是掌握OC基础,还要有MacOS/Darwin、C/C++高级编程认识才可以,就分析来看,入门就相对难一点,也比较深奥。如果你有C基础的话,那么学iOS很不错。原创 2014-12-18 16:09:22 · 951 阅读 · 0 评论 -
ios基础知识-面试题
1. 浅复制和深复制的区别? 2.类别(category)的作用?继承和类别在实现中有何区别?3. 类别(category)和类扩展(extension)的区别。4. obc中的协议和java中的接口概念有何不同? 5.解释一下KVO 和 KVC? 6. 代理的作用?原创 2014-12-22 23:24:20 · 863 阅读 · 0 评论 -
ios基础知识-面试题(二)
Object-C有多继承吗?没有的话用什么代替?cocoa 中所有的类都是NSObject 的子类,多继承在这里是用protocol 委托代理来实现的你不用去考虑繁琐的多继承 ,虚基类的概念.ood的多态特性在 obj-c 中通过委托来实现.Object-C有私有方法吗?私有变量呢?objective-c – 类里面的方法只有两种, 静态方法和实例方法. 这似乎就不是完整的面向对象了,按照OO的原则就是一个对象只暴露有用的东西. 如果没有了私有方法的话, 对于一些小范围的代码重用就不那么顺手了.原创 2014-12-22 23:39:58 · 530 阅读 · 0 评论 -
Object-C详细编程教(五)-手动内存管理
有效的管理内存1.内存分配:当程序创建对象时需要为对象分配内存。采用合理的设计,尽量减少对象的创建,并减少对创建过程中内存的开销,这是内存管理一方面的。2.内存回收:当程序不再需要对象时,系统必须及时回收这些对象所占用的内存,以便于程序可以再次使用这些内存。一般来说,内存分配的工作对程序影响小些,即使程序在一段时间内创建了过多的内存,造成了较大的内存开销,只要这些对象占用的内存得到了及时回收,程序依然可以正常运行。而且,内存的分配操作相对比较容易,当程序创建对象时,系统会自动的为这些对象分配内存。原创 2014-12-26 11:31:55 · 892 阅读 · 0 评论