IOS开发笔记10-Object-C中的对象
转载请标明出处:
http://blog.csdn.net/hai_qing_xu_kong/article/details/53513004
本文出自:【顾林海的博客】
前言
关于c语言的基础部分已经记录完毕,接下来就是学习Object-C了,编写oc程序需要使用Foundation框架。下面就是对oc中的对象介绍。
对象
对象和结构类似,一个对象可以保存多个相关的数据。在结构中,我们称这些数据为成员。而在对象中,称这些数据为实例变量。除了这些以外,对象和结构不用之处在于,对象还可以包含一组函数,并且这些函数可以使用对象所保存的数据,这类函数称为方法。
类
类(class)负责描述某个特点类型的对象,其中包括方法和实例变量。类可以描述以下两种对象:
- 抽象概念,例如数据、字符串和指令集。
- 实际存在的事物,例如人、地点等。
一个类定义了一种对象,同时它也可以用来创建这种对象。类既是对象的原型,又是生产对象的工厂。
实例
#import <Foundation/Foundation.h>int main(int argc, const char * argv[]) {@autoreleasepool {// insert code here...NSDate *today=[NSDate date];NSLog(@"%p",today);}return 0;
}
上面程序中 等号(=)左边是变量today,变量前面的*说明它是一个指针,这个指针保存着NSdate实例在内存中的地址。赋值运算符的右边是返回了NSDate实例的地址。整个过程称为消息发送
。
方法和函数类似。根据指令执行相应的功能。oc中,想要执行方法里的代码,首先需要发送一条消息给包含这个方法的对象或类。
上面的程序中NSDate类中有一个date方法,因此,我们向NSDate类发送了date消息,让它执行date方法。
消息发送必须写在一对方括号里,并且必须包含接受方和选择器。
如下面格式:
修改程序,如下:
#import <Foundation/Foundation.h>int main(int argc, const char * argv[]) {@autoreleasepool {// insert code here...NSDate *today=[NSDate date];NSLog(@"today=%@",today);}return 0;
}
输出结果:
today=2016-12-06 00:02:59 +0000
获取到NSDate的实例,这时就可以给它发送消息了,如下程序:
#import <Foundation/Foundation.h>int main(int argc, const char * argv[]) {@autoreleasepool {// insert code here...NSDate *today=[NSDate date];double seconds=[today timeIntervalSince1970];NSLog(@"seconds=%f",seconds);}return 0;
}
输出结果:
seconds=1480982760.070326
timeIntervalSince1970的作用是会算出现在的时间和1970年1月1号12:00 AM(GTM)之间的时间差。
IOS开发笔记10-Object-C中的对象相关推荐
- IOS开发笔记12-Object-C中的对象与内存
转载请标明出处: http://blog.csdn.net/hai_qing_xu_kong/article/details/53556243 本文出自:[顾林海的博客] 前言 Object-C的内存 ...
- IOS开发笔记17-Object-C中的继承
转载请标明出处:[顾林海的博客] 个人开发的微信小程序,目前功能是书籍推荐,后续会完善一些新功能,希望大家多多支持! ##前言 在前面的程序Person.h文件中可以看到,Person继承了NSObj ...
- IOS开发笔记16-Object-C中的属性
转载请标明出处: http://blog.csdn.net/hai_qing_xu_kong/article/details/54667858 本文出自:[顾林海的博客] 前言 前一篇笔记记录了自定类 ...
- IOS开发笔记13-Object-C中的NSString
转载请标明出处: http://blog.csdn.net/hai_qing_xu_kong/article/details/53572258 本文出自:[顾林海的博客] 前言 NSString是Ob ...
- IOS开发笔记11-Object-C中的传递消息
转载请标明出处: http://blog.csdn.net/hai_qing_xu_kong/article/details/53534039 本文出自:[顾林海的博客] 前言 在前一篇例子中传递的是 ...
- iOS开发笔记--iOS应用架构谈 view层的组织和调用方案
前言 <iOS应用架构谈 开篇>出来之后,很多人来催我赶紧出第二篇.这一篇文章出得相当艰难,因为公司里的破事儿特别多,我自己又有点私事儿,以至于能用来写博客的时间不够充分. 现在好啦,第二 ...
- iOS开发笔记-两种单例模式的写法
iOS开发笔记-两种单例模式的写法 单例模式是开发中最常用的写法之一,iOS的单例模式有两种官方写法,如下: 不使用GCD #import "ServiceManager.h"st ...
- IOS开发笔记之推广安装(用网页判断是否安装App)
IOS开发笔记之推广安装(用网页判断是否安装App) 在做App推广的时候,我们经常会用到网页链接下载,亦或是一张二维码,最常见的做法就是将App在iTunes中的下载链接嵌入,当用户扫描或者点击网页 ...
- IOS开发笔记之常用的第三方库(太多了。)
图像: 1.图片浏览控件MWPhotoBrowser 实现了一个照片浏览器类似 iOS 自带的相册应用,可显示来自手机的图片或者是网络图片,可自动从网络下载图片并进行缓存.可对图片进行缩放等操作. ...
最新文章
- c语言将数组中奇数放在另一个数组,把数组中所有的奇数放在另一个数组中返回...
- java编程题有难度的_算法与编程面试题 不喜勿喷 难度指数:*****...
- Qt工作笔记-以配置文件的方式动态获取Mysql数据库中的数据
- 我要3万取款机怎么取_自助取款机一天可以取多少,能取出来几万呢?
- Ubuntu 安装 中文输入法(Google 拼音)
- 功率 dbm 和 mw 的换算
- 计算机组成原理完整学习笔记(六):指令系统
- 自动控制理论 第一章 思维导图
- UltraEdit注册机
- matlab计算abc三相短路电流_电工都知道三相电动机按一千瓦两个电流计算 却不会计算公式...
- Lync Server 服务器版本升级
- beyong经典之作
- Android仿微信朋友圈图片展示效果,图片查看器
- SIW 2021 v11.6.0824 电脑信息综合检测工具技术员单文件版
- Python爬虫爬取某小说网的教程(含全代码)#大佬勿喷
- 概率编程——未来也可以这样预测
- 百度nlp实习生转岗(猝)
- Libev源码分析05:Libev中的绝对时间定时器
- (洛谷)P4995 跳跳!
- 试用AI写作软件AI-WRITER.COM:重写(rewrite)功能测试简短报告
热门文章
- php 商场收银收费系统,使用的策略模式
- Linux Centos7安装chrome浏览器
- 核显也能玩游戏,OS X Yosemite优化指南
- C#拾遗系列(9):继承、接口、扩展方法、分部类、类操作、Ref and Out、可空类型...
- 简单剖析智能指针的思想
- 服务器安全股v4.0正式版发布 防火墙效能更强
- 基于Android平台的多分辨率解决方案[图]
- 使用 CommandBuilder 生成命令 (ADO.NET)
- Android activity生命周期
- python基础之import模块导入和包的调用