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 0;
}

Objective C 快速入门学习一

时间: 2024-08-08 17:51:07

Objective C 快速入门学习一的相关文章

Objective C 快速入门学习五

<一>继承和多态 @class Complex 声明类(同C++) 子类函数成员 super 访问父类 同C++类似 1.通过继承 在子类中添加新方法 2.通过继承 在子类中添加新成员 3.通过继承 实现多态(实现比较简单,通过Id通用类型作为父类) 4.重载 5.抽象类abstract作用:创建子类更容易:提供了处理所有派生子类的公共接口:抽象方法制定了标准协议,规范子类必须实现. 6.通用类型id,编译时不会做类型检查,在运行时才会动态绑定具体类型,指出错误. 静态类型在编译阶段就会指出错

Objective C 快速入门学习二

Objective-C 类.对象.方法 1.编写一个复数类: #import <Foundation/Foundation.h>@interface Complex: NSObject //类声明,Complex继承NSObject { int iReal;//成员变量声明,在括号内 int iImag; } //成员函数声明,在括号外 -(void) print; -(void) setReal : (int) n; -(void)setImag : (int) d; @end //@int

Objective C 快速入门学习三

1.数据类型 和C语言基本一样. 有一个特别数据类型id,可以储存任何类型的对象,它是实现多态和动态绑定的基础. Objective-C 2.程序结构 Objective-C和C的程序结构一模一样,具体用法相同. 顺序.循环.选择 3.基本上Objective-C兼容了C语言所有特点,包括数组.结构.字符串.联合,它们不是对象,面向过程式.建议直接使用相关框架下的相关类,面对对象编程. Objective C 快速入门学习三

Objective C 快速入门学习四

类 1.合成存取器方法 @property   成员变量 @synthesize 成员变量 可以让编译器自动合成 设置和获取函数的方法,不用手动生成set成员变量,Get成员变量 @interface Complex : NSObject { int iReal,iImag; } @property  int iReal, iImag;  //合成存取器方法,第一部:@property标识属性 -(void)print; @end @implementation Complex @synthes

jquery 快速入门学习总结

jquery 快速入门学习总结 jquery简介 jquery 是一个免费,开源的javascript 库. jquery作用 方便完成web前端的工作,例如节点操作,元素操作,事件绑定,ajax操作,并且解决了大部分的兼容问题 jquery使用配置 1.本地配置 1.1 下载jquery文件,  www.jquery.com 1.2 引入,放在文件同目录       <script type="text/javascript" src="jquery.1.8.3.mi

Qt快速入门学习笔记(基础篇)

本文基于Qter开源社区论坛版主yafeilinux编写的<Qt快速入门系列教程目录>,网址:http://bbs.qter.org/forum.php?mod=viewthread&tid=193.参考书为基于该系列教程<Qt Creator快速入门>和<Qt及Qt Quick开发实战精解> 1.关联Qt库.如果是分别安装的Qt Creator和Qt库,而不是安装集成Qt Creator和Qt库的SDK,则需要手动关联Qt库.打开工具→选项菜单,然后选择“构建

FreeMarker 快速入门学习

一.简介 FreeMarker 是一个很值得去学习的模版引擎.它是基于模板文件生成其他文本的通用工具.本章内容通过如何使用FreeMarker生成Html web 页面 和 代码自动生成工具来快速了解FreeMarker. FreeMarker 是一款用java语言编写的模版引擎,它虽然不是web应用框架,但它很合适作为web应用框架的一个组件. 特点: 轻量级模版引擎,不需要Servlet环境就可以很轻松的嵌入到应用程序中 能生成各种文本,如html,xml,java等 入门简单,它是用jav

【2】快速入门学习python整体

注意一下 >>>主提示符 ...    次提示符 python主要通过两种方式来解决问题:语句和表达式(函数,算术表达式): abs()函数,输出绝对值函数. 绝对值的英文是Absolute value,取前面的abs,好记点. abs(-4) 4 abs(4) 4 当然我们现在需要的是先学习print语句. 注意一下 python的输出重定向. python那些带括号的东西都是函数. 在python中学会使用help()函数 help(函数名) 核心风格:一直在函数外做用户交互操作 将

Sass快速入门学习笔记

1. 使用变量; sass让人们受益的一个重要特性就是它为css引入了变量.你可以把反复使用的css属性值 定义成变量,然后通过变量名来引用它们,而无需重复书写这一属性值.或者,对于仅使用过一 次的属性值,你可以赋予其一个易懂的变量名,让人一眼就知道这个属性值的用途. sass使用$符号来标识变量(老版本的sass使用!来标识变量.改成$是多半因为!highlight-color看起来太丑了.),比如$highlight-color和$sidebar-width.为什么选择$ 符号呢?因为它好认