![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Object-C
文章平均质量分 67
何时成为大牛
屌丝程序员一枚
展开
-
2、数据类型、运算符和表达式
概述 数据类型、运算符和表达式在任何的计算机语言中都比较重 要的,在面向对象的Objective-C语言中,除了常规的基本类型,还有对象类型等。运算符和表达式完全遵守C语言 规范。数据类型 Objective-C数据类型可以分为:基本数据类型、对象类型和i d类型。 基本数据类型有:int、float、double和char类型。 对象类型就是类或协议所声明的指针类型,例如:原创 2016-08-17 16:44:24 · 539 阅读 · 0 评论 -
类的本质
#import <Foundation/Foundation.h>@interface Person : NSObject@property NSString *name;- (void)test;@end#import "Person.h"@implementation Person- (void)test{ NSLog(@"call test...\n");}+ (void)原创 2017-01-10 09:37:38 · 390 阅读 · 0 评论 -
13、单例模式
单例设计模式 ·基本概念 单例设计模式运用较为普遍、广泛且较为简单的设计模式之一,它的设计原理是:始终返回一个实例,即一个类始终只有一个实例。 创建单例的基本步骤 ·声明一个单件对象的静态实例,并初始化为nil。 ·创建一个类的类工厂方法,生成一个该类的实例,当且仅当这个类的实例为nil时 ·覆盖allocWithZone:方法,确原创 2016-09-07 15:35:13 · 193 阅读 · 0 评论 -
12、对象归档(序列化)的基本概念
·概念: 对象归档是指将对象写入文件保存在硬盘上,当再次重新打开程序时, 可以还原这些对象。你也可以称它为对象序列化、对象持久化 ·数据持久性的方式 ·NSKeyedArchiver——对象归档 ·NSUserDefaults ·属性列表化(NSArray、NSDictionary保存文件) ·SQlite数据库、Core Data数据库原创 2016-09-07 11:34:58 · 560 阅读 · 0 评论 -
9、内存管理
概述 Objective-C为每个对象提供一个内部计数器,这个计数器 跟踪对象的引用次数。所有类都继承自 NSObject 的对象。 Cocoa中提供了一个机制来实现上面提到的这个逻辑模型,它被称为“引用计 数”(reference counting)或“保留计数”(retain counting) 。引用计数的 数值表示对象有几个“人”在使用它。 ·每一个对象都拥有一个原创 2016-08-19 15:05:32 · 256 阅读 · 0 评论 -
4、Objective-C语言的面向对象特性
概述 Objective-C作为一种面向对象的编程语言,具有面向对象 的基本特征,即:封装、继承和多态。主要介绍Objective-C中有关面向对象基本概念:类、对象、方法和属性等。Objective-C中的类 类是Objective-C中的一种重要的数据类型,是组成 Objective-C程序的基本要素。Objective-C的类声明和实现包括两个部分:接口部分和实现部分。@inter原创 2016-08-18 11:55:48 · 540 阅读 · 0 评论 -
1、Objective-C基础
• 1. 兼容性 Objective-C可以说是一种面向对象的C语言,在Objective-C的代码 中可以有C和C++语句,它可以调用C的函数,也可以通过C++对象 访问方法。• 2. 字符串 Objective-C通常不使用C语言风格的字符串。大多数情况下是使用 Foundation框架的NSString类型的字符串。NSString类提供了字符串 的类包装,支持Un原创 2016-08-17 12:05:22 · 555 阅读 · 0 评论 -
15、KVC、KVO和谓词
键值编码的基本概念和用法 键-值编码是一个用于间接访问对象属性的机制,使用该机制不需要调用存取方 法和变量实例就可访问对象属性。 2.键-值编码方法在Objective-C非正式协议(类目)NSKeyValueCoding中被声 明,默认的实现方法由NSObject提供。 键-值编码支持带有对象值的属性,同时也支持纯数值类型和结构。非对象参数 和返回类型会被识别并自动封装原创 2016-09-12 16:25:00 · 312 阅读 · 0 评论 -
11、复制对象
1、复制对象的基本概念 ·复制对象的基本概念 复制对象顾名思义,复制一个对象作为副本,它会开辟一块新的内存(堆内存)来存储副本对象,就像复制文件一样。即源对象和副本对象是两块不同的内存区域。对象具备复制功能,必须实现 : ·<NSCopying>协议 ·<NSMutableCopying>协议 ·常用的可复制对象有:NSNumber、NSString、NSArray、原创 2016-08-31 15:22:58 · 486 阅读 · 0 评论 -
10、Foundation框架
概述 Mac OS X开发会使用Cocoa框架,它是一种支持应用程序提 供丰富用户体验的框架,它实际上由:Foundation和Application Kit(AppKit)框架组成。 iOS开发,会使用Cocoa Touch框架,它实际上由:Foundation和UIKit框架组成。 AppKit和UIKit框架都是与窗口、按钮、列表等相关的类。 Foundation是Mac OS原创 2016-08-19 17:49:40 · 473 阅读 · 0 评论 -
14、文件管理
1、应用程序沙盒的基本概念 •iOS中的沙盒(sandbox)机制 iOS应用程序只能对自己创建的文件系统读取文件,这个“独立”“封闭”“安全”的空间,我们称为沙盒。它一般存放着你的程序包文件(可执行文件)、图片、 声音、视频、plist、sqlite数据库以及其他文件。 •每个应用程序都有自己的独立的存储空间(沙盒) •一般来说应用程序间是不可以相互访问 •模原创 2016-09-09 10:57:21 · 298 阅读 · 0 评论 -
8、协议
协议 协议(Protocol)与Java的Interface(接口) 或者 C++的 纯虚类相同,就是用来声明接口的。协议只是定义了方法的列表,协议不负责实现方法,目的是让别的类来实现。Graphics协议 Graphics中定义了onDraw方法,但是我们仔细分析一下 onDraw方法不能实现的,作为Graphics(几何图形)它无法知道它的子类如何绘制图形,它只能规定绘制图名字为onD原创 2016-08-18 16:51:13 · 249 阅读 · 0 评论 -
7、分类
分类概念 分类(Category)允许向一个类文件中添加新的方法声明,它 不需要使用子类机制,并且在类实现的文件中的同一个名字下定义这些方法。其语法举例如下:#import "ClassName.h"@interface ClassName ( CategoryName ) // 方法声明@end分类实例 前面多态性中曾经使用过Vector和Scalar的例子,下面我们为 Vector原创 2016-08-18 16:16:36 · 252 阅读 · 0 评论 -
5、继承性
继承概念 • 继承性是面向对象的重要概念之一,子类能够继承父类的 某些方法和成员变量。作用域限定符为private 的成员变量是不可以被继承的。子还可以重写父类的方法。 • 为了了解继承性,我们看看这样的一个场景:一位面向对象的程序员小赵,在编程过程中需要描述和处理个人信息, 于是他定义了类Person。Person类@interface Person: NSObject {原创 2016-08-18 14:24:03 · 353 阅读 · 0 评论 -
6、多态性
多态概念 多态性是指在父类中定义的成员变量和方法被子类继承之后,可以具有不同的数据类型或表现出不同的行为。这使得同一个变量和方法在父类及其各个子类中具有不同的表现形式。我们通过一个例子理解什么多态,例如:“几何图形”类的“绘图”方法,在它的子类“椭圆形”和“三角形”中也都有“绘图”的方法,但是“绘图”方法功能都不同。几何图形类图 Graphics(几何图形)类是Ellipse(椭圆形)类和原创 2016-08-18 14:44:39 · 277 阅读 · 0 评论 -
3、控制语句
概述 Objective-C中的控制语句有以下几类: • 分支语句:if-else, switch • 循环语句:while, do-while, for • 与程序转移有关的跳转语句:break, continue, goto分支语句 分支语句提供了一种控制机制,使得程序的执行可以跳过某 些语句不执行,而转去执行特定的语句。 1.条件语句 if-els原创 2016-08-18 09:50:48 · 209 阅读 · 0 评论 -
SEL与NSLog
一、 SEL方法的存储位置每个类的方法列表都存储在类对象中每个方法都有一个与之对应的SEL类型的对象根据一个SEL对象就可以找到方法的地址,进而调用方法SEL类型的定义typedef struct objc_selector *SEL;SEL对象的创建SEL s = @selector(test);SEL s2 = NSSelectorFromString(@"test");SEL原创 2017-01-10 10:14:57 · 1030 阅读 · 0 评论