Objective的头文件@interface属性
源码:http://files.cnblogs.com/ios8/TestPropertyDemo.zip
1 前言
最近有个疑惑 @interface中的属性和@property声明的属性有什么区别呢,经过上网搜索和实践验证,个人总结了几点,共同学习一下。
2 详述
例子
PropertyModel.h
- #import <Foundation/Foundation.h>
- @interface PropertyModel : NSObject{
- NSString* sex;
- @public NSString* name;
- @private NSString* classes;
- }
- @property(nonatomic,copy)NSString* sexName;
- @property(nonatomic,copy)NSString* classesName;
- @end
SubProModel.m
- #import "SubProModel.h"
- @implementation SubProModel
- -(void)testSub{
- // self.newClasses = self->classes;//Wrong:private property
- self.newSexName = self->sex;
- self.newName = self->name;
- }
- @end
main.m
- #import <Foundation/Foundation.h>
- #import"PropertyModel.h"
- int main(int argc, const char * argv[])
- {
- @autoreleasepool {
- NSLog(@"Hello, World!");
- PropertyModel* pro = [[PropertyModel alloc] init];
- // NSString* temp = pro->sex;//Wrong:pro is protected
- NSString* temp = pro->name;
- }
- return 0;
- }
2.1 本类中
对于PropertyModel的@interface中的属性:
NSString* sex;
@public NSString* name;
@private NSString* classes;
sex为默认的protect属性只允许本类和子类访问。
name为共有的所有类都能访问。
classes为私有的只有子类访问。
2.2 本类访问
- #import "PropertyModel.h"
- @implementation PropertyModel
- -(void) testPro{
- self.sexName = sex;
- self.classesName = classes;
- }
- @end
可以直接调用属性名称访问。
2.3 外部类访问
- #import "SubProModel.h"
- @implementation SubProModel
- -(void)testSub{
- // self.newClasses = self->classes;//Wrong:private property
- self.newSexName = self->sex;
- self.newName = self->name;
- }
- @end
需要使用“->”访问指针形式访问。
3 结语
以上是所有内容,希望对大家有所帮助。多的就不说了,可以下载Demo详细观看他们的区别。
Demo下载地址:http://download.csdn.net/detail/u010013695/5539117
Objective的头文件@interface属性的更多相关文章
- UIButton 头文件常见属性和方法
UIButton头文件常见属性 1.属性 contentEdgeInsets: default is UIEdgeInsetsZero.设置内容四边距,默认边距为0 @property(nonatom ...
- UILabel头文件常见属性
text : default is nil 文本属性,默认值是 nil @property(nullable, nonatomic,copy) NSString *text; font : defau ...
- Viewing the interface of your Swift code,查看Swift代码的头文件的三种方法
Technical Q&A QA1914 Viewing the interface of your Swift code Q: How do I view the interface ...
- Objective-C声明在头文件和实现文件中的区别
Objective-C声明在头文件和实现文件中的区别 转自codecloud(有整理) 调试程序的时候,突然想到这个问题,百度一下发现有不少这方面的问答,粗略总结一下: 属性写在.h文件中和在.m文件 ...
- jni.h头文件详解二
作者:左少华 博客:http://blog.csdn.net/shaohuazuo/article/details/42932813 转载请注明出处:http://blog.csdn.net/shao ...
- jni.h头文件详解一
1.jni.h头文件路径: /usr/lib/jvm/jdk_1.6.0_43/include/jni.h 2.jni.h头文件组成分析图: 3.下面通过上图进行分析讲解jni.h头文件. 一. jn ...
- 【转】 jni.h头文件详解(二)
原文网址:http://blog.csdn.net/shaohuazuo/article/details/42932813 作者:左少华 博客:http://blog.csdn.net/shaohua ...
- NSObject头文件解析 / 消息机制 / Runtime解读 (一)
NSObject头文件解析 当我们需要自定义类都会创建一个NSObject子类, 比如: #import <Foundation/Foundation.h> @interface Clas ...
- #include、#import与@class的使用与头文件循环引用问题
#include #include <>:一般是对系统库文件的引用,编译器会去系统文件文件夹下查找. #include "xxx.h":一般是对自己定义文件的引用,编译 ...
随机推荐
- 解码url参数的lotusscript函数
在Domino的系统开发过程中,我们往往要通过url来进行传参,传递参数给表单或者代理,假如浏览器请求的url带有参数,在交给服务器前服务器会对其进行编码(不知道这样理解对不对),像一些特殊符号,空格 ...
- LS下怎样最大限度的提高Domino下Web应用的速度
1.用For 循环代替Do 循环,因为Do循环会反复的计算条件! 2.在数族元素中循环式用Forall代替for.一元数组会快75%,二元会快50%左右. 3.简化If里的条件,如:if a=x an ...
- XmanagerEnterprise-6.0.0092-beat内测版|免费使用
xshell很还好用,目前发布beat6.0免费注册.免费使用... 00.安装 11.扁平化的UI download: 链接: https://pan.baidu.com/s/1qXTjjAG 密码 ...
- 转:如何编译delta3d
回头看,自上学以来,做虚拟现实.三维地理信息系统已有六个年头.为了节省花费在编码上的精力,编程应用的API函数也由opengl变成了OpenSceneGraph,但还是花费了很多气力,为了更好的提高开 ...
- 上海期货交易所CTP行情和交易接入
发布时间:2018-09-25 技术:C++11,动态库的制作 概述 CTP的接入Demo 详细 代码下载:http://www.demodashi.com/demo/14125.html 本 ...
- USACO holstein AC code
/* ID:kevin_s1 PROG:holstein LANG:C++ */ #include <iostream> #include <cstdio> #include ...
- jquery.uploadify 在firefox会出现httperror
原来是因为我的上传处理页面的page 继承了一个基类影响到的 然后这个基类 好像是因为在别的项目里面的原因 希望对也遇到这样的问题的人有帮助咯
- MATLAB 的条件分支语句
MATLAB 的条件分支语句: 1)if...end 2)if...else...end 3) if...elseif...elseif...else...end a=; fprintf('\n ...
- 观文章《Linux系统管理员修炼三层次》有感
层次,都不陌生,通俗讲,就是和档次挂钩的,初入江湖时,都想自己几年后,武艺精深,深藏百技,忙时带领团队打BOSS,闲时喝酒论道,博古纵今,想想都令人精神满满,干劲十足!!! 至今已入江湖几载,回首来 ...
- Idea集成Lombok代码注释来精简代码
转载http://www.cnblogs.com/holten/p/5729226.html Lombok介绍及使用方法 lombok简介 lombok是暑假来到公司实习的时候发现的一个非常好用的小工 ...