• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

ObjectiveC快速入门学习一

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

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

鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap