总结: 当使用 self.str1 = @"xxx";时, 系统自动调用 setter方法
param_str = self.str1; 自动调用getter方法
注意: 只在对象点属性的时候才会调用, 在setter方法内复制必须
str1 = param_str1;     正确
self.str1 = param_str1;  错误 (会无限递归)

  


#import <Foundation/Foundation.h> @interface MyTestModel : NSObject @property (nonatomic, strong) NSString *str1; //- (NSString *)str1; //- (void)setStr1:(NSString *)str1; @end
#import "MyTestModel.h"

@implementation MyTestModel

@synthesize str1;

- (void) setStr1:(NSString *)param_str1
{
    NSLog(@"property str1's set method is automatically invoke when assignment!");
    str1 = param_str1;
}

- (NSString *)str1
{
    NSLog(@"invoke getter");
    return str1;
}
@end

 

相关文章:

  • 2021-08-04
  • 2022-12-23
  • 2020-05-24
  • 2022-12-23
  • 2021-11-18
  • 2021-08-25
  • 2023-04-01
猜你喜欢
  • 2021-08-29
  • 2022-12-23
  • 2021-04-12
  • 2022-12-23
  • 2022-12-23
  • 2021-07-10
  • 2022-12-23
相关资源
相似解决方案