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的过程,大牛就飞 ...
随机推荐
- JQuery.getJSON 从aspx页面返回JSON数据
public partial class WebForm2 : System.Web.UI.Page { protected void Page_Load(object sender, EventAr ...
- OC- @property @synthesize
@property 1,在@interface中 2,自动生成setter和getter的声明 #import <Foundation/Foundation.h> @interface P ...
- HBase中的压缩算法比较 GZIP、LZO、Zippy、Snappy [转]
网址: http://www.cnblogs.com/panfeng412/archive/2012/12/24/applications-scenario-summary-of-compressio ...
- target 事件属性
定义和用法 target 事件属性可返回事件的目标节点(触发该事件的节点),如生成事件的元素.文档或窗口. 语法 event.target 实例 下面的例子可获得触发事件的元素: <html&g ...
- Java并发编程核心方法与框架-Fork-Join分治编程(一)
在JDK1.7版本中提供了Fork-Join并行执行任务框架,它的主要作用是把大任务分割成若干个小任务,再对每个小任务得到的结果进行汇总,这种开发方法也叫做分治编程,可以极大地利用CPU资源,提高任务 ...
- Druid使用起步—在javaWeb项目中配置监控 连接池
当我们在javaWEB项目中使用到druid来作为我们的连接池的时候,一定不会忘了添加监控功能.下面我们就来看一下,在一个简单的web项目中(尚未使用任何框架)我们是如果来配置我们的web.xml来完 ...
- JavaScriptSerializer中日期序列化问题
js请求的json数据返回前台的DateTime 类型被替换成了:\/Date(1404098342309)\/. 这个1404098342309数值,是1970年1月1日(DateTime的最小值) ...
- android自定义控件(5)-实现ViewPager效果
对于系统的ViewGroup我们已经是十分熟悉了,最常用的LinearLayout和RelativeLayout几乎是天天要打交道,下面我们就来看看,如何一步一步将其实现: 一.首先当然也是最通常的新 ...
- [MongoDB]对数组操作
摘要 在实际开发中遇到更新某个document中的数组的值,这里做一下记录. 这里使用的驱动为 using MongoDB.Bson;using MongoDB.Driver; 相关文章 [Mongo ...
- 【干货理解】理解javascript中实现MVC的原理
理解javascript中的MVC MVC模式是软件工程中一种软件架构模式,一般把软件模式分为三部分,模型(Model)+视图(View)+控制器(Controller); 模型:模型用于封装与应用程 ...