4.ios初学者之路 成员变量和属性变量的区别

主要从用途进行比较
成员变量在使用时.h中是在NSObject后打上{},但如若是要在外部访问就要写set 和 get方法,并且要在.m
中去实现。
而属性变量直接在NSObject 后写@poperty( ,)dddd,dddd;
所以使用@property是很高效的,看下面对应代码:

在.h中
#import

NS_ASSUME_NONNULL_BEGIN

@interface Bread : NSObject{
NSString *brandB;
NSString *flavor;
}

-(void)setBrandB:(NSString *)abrandB;
-(void)setFlavor:(NSString *)aflavor;

-(NSString *)getBrandB;
-(NSString *)getFlavor;

@end

NS_ASSUME_NONNULL_END

在.m中

#import “Bread.h”

@implementation Bread

  • (void)setBrandB:(NSString *)abrandB{
    brandB = abrandB;
    }

  • (void)setFlavor:(NSString *)aflavor{
    flavor = aflavor;
    }

  • (NSString *)getBrandB{
    return brandB;
    }

  • (NSString *)getFlavor{
    return flavor;
    }
    @end


在.h中
#import

NS_ASSUME_NONNULL_BEGIN

@interface Bread : NSObject
@property (nonatomic,strong) NSString *brand;

@property (nonatomic,strong) NSString *flavor;

@end

NS_ASSUME_NONNULL_END

在这个.m中是没有内容的

可以发现成员变量如果加上get 和set 方法是可以与属性变量转换的

你可能感兴趣的:(IOS学习)