ios学习第一天(七)对象之块
2017-04-05 18:27
253 查看
oc作为一门面向对象语言,必须学习oc的面向对象特性。刚才我还在思考,什么是对象(大头儿子隔壁住着老王,大头儿子他妈妈算不算老王的对象呢)?想了好久,竟然没有想出它严格的定义,于是去百度百科搜了一下:在内存上一段有意义的区域,称作为一个对象。
接下来聊一下我的对象是什么。开发过程中,特别是java开发,万物皆对象。我理解的对象是这样,在内存中为某个模版量身开辟一段空间,这段空间称为对象。对象的数据对外有访问权限,同类型对象有一些相同的行为和相同类型的数据,这些数据和行为构成了一个整体,可以完成一定的功能。我们可以把电脑看作一个对象。它的数据有硬盘,cpu,gpu,内存条等,它的行为有输入数据,输出数据,处理数据。
在网上看到oc中的块是对象。块听起来很抽象,上一篇文章介绍到了函数,和指向函数的指针。这里的块和函数很像,块可以理解为是一种可以在函数内部定义的函数。先看代码:
//
// main.m
// HelloWorld
//
// Created by Moluth on 17/4/5.
// Copyright (c) 2017年 Moluth. All rights reserved.
//
//头文件。里面包含了好多东西,可以算是一个基本框架吧
#import <Foundation/Foundation.h>
//main函数,程序入口 argc 参数个数,argv 所有参数字符串类型
int main(int argc, const char * argv[]) {
//从名字上来看,这个代码块应该可以自动释放内存
@autoreleasepool {
//定义一个块的引用min
int (^min)(int,int)=nil;
//给块赋值
min=^(int a,int b){
return a<b?a:b;
};
//使用块
NSLog(@"%d\n",min(1,3));
}
return 0;//返回值
}
我觉得块不像是一个对象,我们使用对象一般是访问对象的成员数据和对象的共有方法,这里,使用的方法有些奇怪,也许网上说的不一定对吧。在后面介绍oc内部的一些对象时,能清楚感觉到它们的区别。下一篇从最常用的对象介绍NSString,字符串。
接下来聊一下我的对象是什么。开发过程中,特别是java开发,万物皆对象。我理解的对象是这样,在内存中为某个模版量身开辟一段空间,这段空间称为对象。对象的数据对外有访问权限,同类型对象有一些相同的行为和相同类型的数据,这些数据和行为构成了一个整体,可以完成一定的功能。我们可以把电脑看作一个对象。它的数据有硬盘,cpu,gpu,内存条等,它的行为有输入数据,输出数据,处理数据。
在网上看到oc中的块是对象。块听起来很抽象,上一篇文章介绍到了函数,和指向函数的指针。这里的块和函数很像,块可以理解为是一种可以在函数内部定义的函数。先看代码:
//
// main.m
// HelloWorld
//
// Created by Moluth on 17/4/5.
// Copyright (c) 2017年 Moluth. All rights reserved.
//
//头文件。里面包含了好多东西,可以算是一个基本框架吧
#import <Foundation/Foundation.h>
//main函数,程序入口 argc 参数个数,argv 所有参数字符串类型
int main(int argc, const char * argv[]) {
//从名字上来看,这个代码块应该可以自动释放内存
@autoreleasepool {
//定义一个块的引用min
int (^min)(int,int)=nil;
//给块赋值
min=^(int a,int b){
return a<b?a:b;
};
//使用块
NSLog(@"%d\n",min(1,3));
}
return 0;//返回值
}
我觉得块不像是一个对象,我们使用对象一般是访问对象的成员数据和对象的共有方法,这里,使用的方法有些奇怪,也许网上说的不一定对吧。在后面介绍oc内部的一些对象时,能清楚感觉到它们的区别。下一篇从最常用的对象介绍NSString,字符串。
相关文章推荐
- 开始学习qtp第一天对象库添加和检查点的添加
- IOS学习笔记10—UIControl对象详解
- IOS学习之路 第一天
- 【iOS知识学习】_视图控制对象生命周期-init、viewDidLoad、viewWillAppear、viewDidAppear、viewWillDisappear等的区别及用途
- iOS学习笔记---oc语言第一天
- c++基础学习第一天(类与对象)
- IOS 学习第五天 对象初始化
- iOS学习笔记其3-面向对象编程(类与对象)
- iOS学习——第一天
- ios 学习第一天 object-c入门
- iOS 学习笔记之实例化对象
- 菜鸟:IOS 学习:磨难记(第一天)
- ios学习二:处理类和对象的关系(来源objective-c基础教程)
- ios学习笔记之OC篇(一):复制对象的方法
- iOS学习笔记6 - 第一响应对象初涉(First Responder)
- [Python学习第一天]内置数据类型介绍,万物皆对象!
- IOS学习笔记10—UIControl对象详解
- 准备学习IOS开发——第一天
- 学习IOS历程(第一天)
- iOS 学习第一天