Objective C 快速入门学习一
Objective-C程序设计
1. 直接用Xcode作为IDE,舍弃gcc编译方面的学习。
2. 入门例子:
Eg:打印Hello World 控制台程序
#import<Foundation/Foundation.h> //导入Foundation.h头文件。
//头文件后缀.h,源文件后缀.m,Objective-C++后缀.mm。 int main(int argc, const char* argv[])//主函数(和C/C++相同, // 和/* 内容 */表示注释符号)
{
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];//alloc一个NSAutoreleasePool对象并init。分号表示一句结尾。
//等效于两句 NSAutoreleasePool *pool = [NSAutoreleasePool alloc]; [pool init];
//该代码由Xcode自动生成,初步简单的理解,自动释放objects机制,避免内存泄露。 /*复杂理解,Cocoa(苹果的面向对象开发框架)的内存管理主要依赖于Reference Counting, 而NSAutoReleasePool就是用来支持它的。
1.一个object销毁触发时,可以被这个object的release方法触发,也可以被autorelease触发,如果是后者,只有pool drain时,才会释放对应的object
2.每创建一个pool,则pool与相应的autoreleased object放入stack,当pool drain时,同时release掉其包含的objects。
3.在Reference Counting的环境里, Cocoa总是期望在每一个thread都存在一个autorelease pool,如果没有,可能会内存泄露。
4.销毁pool不会用release,原因是为了让程序同时兼容Reference Counting内存管理环境 与 Garbge Collection(垃圾回收)环境, 因为在Garbage Colloection 环境中drain的作用是触发collect garbage动作.*/ //插入自定义代码区
NSLog(@"Hello World"); // @"内容" 表示常量字符串
/*NSLog格式化打印函数,类似C语言的Printf。
Objective-C很多都已NS开头的函数,例如NSArray, NSString 等等NS前缀类,函数归属于属于cocoa Fundation基础类库
可能与Apple收购NeXT Software,"NS"被作为Fundation中所有成员的前缀*/ int iValue1, iValue2;
NSLog(@"iValue1 = %i, iValue2 = %i", iValue1, iValue2); //%d、%o、%x也可以 [pool drain];//Xcode自动生成,释放已分配的内存池
return ;
}
Objective C 快速入门学习一的更多相关文章
- Objective C 快速入门学习五
<一>继承和多态 @class Complex 声明类(同C++) 子类函数成员 super 访问父类 同C++类似 .通过继承 在子类中添加新方法 .通过继承 在子类中添加新成员 .通过 ...
- Objective C 快速入门学习四
类 1.合成存取器方法 @property 成员变量 @synthesize 成员变量 可以让编译器自动合成 设置和获取函数的方法,不用手动生成set成员变量,Get成员变量 @interface ...
- Objective C 快速入门学习三
1.数据类型 和C语言基本一样. 有一个特别数据类型id,可以储存任何类型的对象,它是实现多态和动态绑定的基础. Objective-C 2.程序结构 Objective-C和C的程序结构一模一样,具 ...
- Objective C 快速入门学习二
Objective-C 类.对象.方法 1.编写一个复数类: #import <Foundation/Foundation.h>@interface Complex: NSObject / ...
- 【原创】SpringBoot & SpringCloud 快速入门学习笔记(完整示例)
[原创]SpringBoot & SpringCloud 快速入门学习笔记(完整示例) 1月前在系统的学习SpringBoot和SpringCloud,同时整理了快速入门示例,方便能针对每个知 ...
- Sass简单、快速上手_Sass快速入门学习笔记总结
Sass是世界上最成熟.稳定和强大的专业级css扩展语言 ,除了Sass是css的一种预处理器语言,类似的语言还有Less,Stylus等. 这篇文章关于Sass快速入门学习笔记. 资源网站大全 ht ...
- ASP.NET Core快速入门--学习笔记系列文章索引目录
课程链接:http://video.jessetalk.cn/course/explore 良心课程,大家一起来学习哈! 抓住国庆假期的尾巴完成了此系列课程的学习笔记输出! ASP.NET Core快 ...
- Qt快速入门学习笔记(基础篇)
本文基于Qter开源社区论坛版主yafeilinux编写的<Qt快速入门系列教程目录>,网址:http://bbs.qter.org/forum.php?mod=viewthread&am ...
- 屌丝逆袭--Asp.net快速入门学习教程 第1晚
本人屌丝一名,因工作原因,不能白天学习编程,所以只能做夜猫子学习编程,期待一天能逆袭成一名高帅富的技术大牛(靠,都想到流口水了........囧). 本教程记录本屌丝学习Asp.net的过程,大牛就飞 ...
随机推荐
- Object.ReferenceEquals
https://msdn.microsoft.com/en-us/library/system.object.referenceequals(v=vs.110).aspx However, the r ...
- css隔行换色
.tab1 tr:nth-of-type(odd){ background:#eeeeee;} .tab1 tr:nth-of-type(even){ background:#f8f8f8;} .ta ...
- JS中的 公有变量、私有变量 !
公有变量.私有变量 ! 初学者的见解,算是记录学习过程,也算是分享以便共同成长,如有不正确的地方,还请不吝赐教! 先看代码1: function car(){ var wheel = 3; //私有变 ...
- 数据库操作事务IsolationLevel 枚举
成员名称 说明 Chaos 无法覆盖隔离级别更高的事务中的挂起的更改. ReadCommitted 在正在读取数据时保持共享锁,以避免脏读,但是在事务结束之前可以更改数据,从而导致不可重复 ...
- Yii 框架里数据库操作详解-[增加、查询、更新、删除的方法 'AR模式']
public function getMinLimit () { $sql = "..."; $result = yii::app()->db-& ...
- .NET Core、DNX、DNU、DNVM、MVC6学习资料
一.资源 1.http://dotnet.github.io/ 2.http://www.codeproject.com/Articles/1005145/DNVM-DNX-and-DNU-Under ...
- Redis命令大全&中文解释&在线测试命令工具&在线中文文档
在线测试命令地址:http://try.redis.io/ 官方文档:http://redis.io/commands http://redis.io/documentation Redis 命令参考 ...
- Java WebService入门实例
Web Services是由企业发布的完成其特定商务需求的在线应用服务,其他公司或应用软件能够通过Internet来访问并使用这项在线服务. Web Service的关键技术和规则: 1.XML:描述 ...
- 【最新】2015年7月之15个最新jQuery插件
Hello,一个激动人心的好消息,现在我为大家整理最近7月发布的jQuery插件. 如果你熟悉任何下面列出的插件,请分享你的反馈与我们的读者,或如果你知道哪一个我们没有收录,那么请与我们分享在下面的评 ...
- CString::Mid成员函数
CString Mid( int nFirst, int nCount ) const; 此成员函数从此CString对象中提取一个长度为nCount个字符的子串,从nFirst(从零开始的索引)指定 ...