您的位置:首页 > 移动开发 > IOS开发

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,字符串。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: