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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 愿我能 中级黑马   /  2014-4-21 16:00  /  878 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 愿我能 于 2014-4-21 17:58 编辑

->可以给对象的属性赋值 如
  1. Person *p1 = [Person new];
  2. p1->age = 14;
  3. //->这里也可以用点语法代替,问下->还有其他用法么,看到最后->符号几乎没出现过
复制代码

评分

参与人数 1技术分 +1 收起 理由
jing迪 + 1

查看全部评分

3 个回复

倒序浏览
本帖最后由 微尘•逐梦 于 2014-4-21 16:22 编辑

->这个符号就是对对象成员变量的直接访问,成员变量作用域必须是public,然而在开发中成员变量通常是private,所以不会用到这个符号。在指针中也可以用到这个符号,例如以下代码。
  1. #include<stdio.h>

  2. struct Student {
  3.     char *name;
  4.     int age;
  5. };

  6. int main()
  7. {
  8.     struct Student student;
  9.     struct Student *p = &student;
  10.    
  11.     p->name = "jack";
  12.     p->age = 11;
  13.    
  14.     return 0;
  15. }
复制代码

评分

参与人数 1技术分 +1 收起 理由
jing迪 + 1

查看全部评分

回复 使用道具 举报
->符号在C语言中基本也就结构里用。而OC是面向对象语言,更加讲究封装。所以也不太建议用对象->属性,这样直接用。有些违反封装特性了。
所以。。其实用处是不大吧。

评分

参与人数 1技术分 +1 收起 理由
jing迪 + 1

查看全部评分

回复 使用道具 举报
的确 ,OC就刚刚开始有,出现点语法后就没用过了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马