黑马程序员技术交流社区

标题: 【记录】OC中的重写set和get方法 [打印本页]

作者: 卫博生    时间: 2015-10-17 23:40
标题: 【记录】OC中的重写set和get方法
因为一些不恰当的因素,所有自动生成的set,get方法已经不能满足要求,所以就要重写set或get方法,来达到我们的要求
举例说明问题
//Gun.h文件中
#import <Foundation/Foundation.h>


@interface Gun : NSObject



@property int bulletCount;//子弹数量(加强版)



@end



Gun.m文件中


#import "Gun.h"



@implementation Gun



//重写set方法,记住不要随便重写系统的方法





//当set,get方法都重写了之后,属性值也不会再自动生成,要想使用属性值,必须手动生成


-(void)setBulletCount:(int)bulletCount{


    //过滤



    if (bulletCount >0) {


        _bulletCount = bulletCount;


    }else{


        _bulletCount = 0;


    }


}






//-(int)bulletCount{


//    return _bulletCount;


//}


@end



main.m文件中


#import <Foundation/Foundation.h>


#import "Gun.h"



int main(int argc, const char * argv[])


{




    Gun *gun1 = [Gun new];


   


    gun1.bulletCount = -4;


   


    NSLog(@"子弹个数%i",gun1.bulletCount);


    return 0;


}



作者: 卫博生    时间: 2015-10-17 23:52
哦,排版太差啦




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2