详解Objective-C方法对象及其使用

移动开发 iOS
Objective-C方法对象及其使用是本文要介绍的内容,主要包括 static 对象、static 、public 、private 方法。objective c 方法,objective c 对象,objective c 私有方法,objective c 静态方法。

Objective-C方法对象及其使用是本文要介绍的内容,主要包括 static 对象、static 、public 、private 方法Objective-C 方法Objective-C 对象,Objective-C私有方法,Objective-C 静态方法。具体内容来看本文详解。

1、@public,@protected,@private

个人觉得@public和@protected并没有很明确的区别,在他们作用范围内的对象,如果不将对象设置成@property,则该对象相当于 protected对象,只有子类和本身可以访问该对象;如果将对象设置成@property,则可以使使用者访问该对象。@private,顾名思义,这里声明的就是私有对象,可以通过指针的方式访问。

2、static对象(类内)

我们将对象声明在类中"{"和"}"之外,也就是与方法和@property写在一起,就可以声明一个类内部的static对象。

3、static方法

当方法前是使用"+"来修饰并且声明在头文件中,则说明该方法相当于c++中的static方法,通过类直接调用。但是需要注意的是,虽然这样的方法可以通过类直接调用,但是不可以通过对象调用。

4、public方法

当方法前是使用"-"来修饰并且声明在头文件中,则该方法可以通过类的对象进行调用。

5、private方法

Objective-C中的private方法是通过category实现的,在实现文件中我们声明一个类的category,在这里面的方法就是private方法。类的对象是不可以进行调用的,同样由于该方法的声名是在类的实现文件中,所以子类也是不能重写该方法的。

演示实例

public、protected、private 用法

头文件

以下为引用内容:

  1. #import <Foundation/Foundation.h> 
  2. @interface Grammar : NSObject {  
  3.     @public    NSString* publicString;       
  4.     @protected     NSString* protectedString;       
  5.     @private         NSString* privateString;   
  6.   }   
  7.  NSString* staticString;   
  8.  @property (nonatomic, retain) NSString* publicString;   
  9.  + (void)staticMethod;   
  10.  - (void)publicMethod;   
  11.  @end  

实现文件

  1. #import "Grammar.h"   
  2. #pragma mark   
  3. - #pragma mark Grammar(private)   
  4. @interface Grammar(private)   
  5. - (void)privateMethod;  
  6.  @end   
  7.  #pragma mark   
  8.  - #pragma mark Grammar   
  9.  @implementation Grammar   
  10.  @synthesize publicString;   
  11.  - (id)init {       
  12.  if((self = [super init])) {   
  13.          if(publicString == nil) {    
  14.     publicString = [[NSString alloc] init];           
  15.  }      
  16.  if(protectedString == nil) {  
  17.               protectedString = [[NSString alloc] init];          
  18.        }           
  19.  if(privateString == nil) {  
  20.               privateString = [[NSString alloc] init];          
  21.       }           
  22.  if(staticString == nil) {  
  23.               staticString = [[NSString alloc] init];  
  24.       }      
  25.   }      
  26.   return self;  
  27.  }   
  28.  - (void)dealloc {       
  29.  [publicString release];       
  30.  [protectedString release];       
  31.  [privateString release];       
  32.  [super dealloc];   
  33. }   
  34.  #pragma mark - #pragma mark Public Method + (void)staticMethod { }   
  35.  - (void)publicMethod { }   
  36.  #pragma mark   
  37.  - #pragma mark Private Method   
  38.  - (void)privateMethod { }  
  39. @end 

小结:详解Objective-C方法对象及其使用的内容介绍完了,希望通过本文的学习能对你有所帮助!

责任编辑:zhaolei 来源: 互联网
相关推荐

2011-08-04 13:32:21

Objective-C 方法 对象

2011-08-16 10:23:04

Objective-CNSAutoreleaXcode常用键

2011-08-10 17:16:01

Objective-C静态变量

2011-08-17 10:58:59

Objective-C构造函数

2011-07-29 16:16:30

Objective-c block

2011-08-04 11:04:14

Objective-C 面向对象 继承

2011-08-10 11:08:32

Objective-C字符串NSString

2011-07-19 17:24:31

Objective-C 对象

2011-08-11 16:01:03

Objective-C面向对象内存

2011-08-02 15:55:31

Objective-C NSAutorele

2011-07-19 17:18:35

Objective-C Property

2014-04-01 10:50:42

iOS开发runtimeObjective-C

2015-10-08 10:01:10

Objective-CLayout

2011-07-18 16:36:51

Objective-C XCode

2011-08-17 10:29:39

Objective-C预处理

2011-08-04 13:38:01

Objective-C C++

2011-07-27 16:55:12

Objective-c 闭包

2011-08-01 17:11:43

Objective-C 函数

2011-08-15 14:32:42

Objective-C委托协议

2014-04-28 09:56:56

Objective-CiOS命名空间
点赞
收藏

51CTO技术栈公众号