A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 剑气近 中级黑马   /  2014-6-24 21:55  /  955 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

为什么Objective-C类实例里面的比如NSINTEGER,float,之类的成员变量不用释放内存,而比如类里的指针类型的变量却需要释放的问题。

2 个回复

倒序浏览
1 减号(或者加号)   减号表示一个函数、或者方法、或者消息的开始,怎么说都行。   比如c#中,一个方法的写法可能是: private void hello(bool ishello) { //OOXX }   用Objective-C写出来就是 -(void) hello:(BOOL)ishello { //OOXX } 挺好懂的吧?   不过在Objective-C里面没有public和private的概念,你可以认为全是public。   而用加号的意思就是其他函数可以直接调用这个类中的这个函数,而不用创建这个类的实例。   2 中括号   中括号可以认为是如何调用你刚才写的这个方法,通常在Objective-C里说“消息”。   比如C#里你可以这么写:   this.hello(true);   在Objective-C里,就要写成:   [self hello:YES];   3 NS****   老乔当年被人挤兑出苹果,自立门户的时候做了个公司叫做NextStep,里面这一整套开发包很是让一些科学家们喜欢,而现在Mac OS用的就是NextStep这一套函数库。
回复 使用道具 举报
本帖最后由 ⒈心只霸占沵 于 2014-6-25 09:51 编辑

OC中好像也是分为五大存取   栈 堆   常量区   方法区  还有一个我也不清楚
  float int  double  char 都属于基本类型,基本类型应该是存在于栈里的,栈里的变量是自动释放的,不用我们去管理
  而OC对象是存储在堆内存中的,堆内存中对象需要我们去管理内存,所以不用的时候需要释放

不知道说的对不对,不多大体是这个意思,希望对你有帮助!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马