2010-08-23 39 views
1

嘿,我有一个非常简单的问题,需要更多的解释而不是调试,但我已经在许多类对象的接口定义中看到关键字“ @package“,”@private“,”@public“,然后甚至是更大的”struct {...}“。我已经能够完成完整的程序而不使用任何前述的内容,所以我希望有人能够向我解释这些关键字的重要性。iPhone SDK @package vs. @private vs @public and struct

感谢

编辑:
等待,我现在每个声明的restictions但为什么你需要使用它们明白吗?你能澄清一下“struct {...}”是什么意思,以及我如何使用它?再次感谢:d

回答

6

关于包装,你的问题在这里回答详细:What does the @package directive do in Objective-C?

结构是一个C结构,可以让你在一个单一的名称访问多种数据类型。

@private限制访问变量的使用仅通过这个类

@protected仅通过这个类和继承类(默认的OBJ-C类)

限制访问变量使用@包限制访问变量使用由框架

@public让大家存取权限这个变量

编辑:

struct person {   /* declares struct person */ 
int age; 
float weight; 
char name[25]; 
    } adam; 

struct person joe; 
joe.age = 23;  /* add values */ 
joe.weight = 147.8;  

关于限制,其良好的OO实践来限制访问的变量,被称为封装http://en.wikipedia.org/wiki/Encapsulation_%28object-oriented_programming%29

+0

好超!谢谢:) – 2010-08-23 14:21:28

+0

没问题,欢迎您:) – Gauloises 2010-08-23 14:23:56

+1

别忘了@保护 – JeremyP 2010-08-23 14:32:55