setter, getter, @property , @synthesize

一,单纯的set get,

.h文件

@interface Person : NSObject
{
    NSString *_name;
}

-(void)setName:(NSString *)name;
-(NSString *)getName;

@end

.m文件

-(void)setName:(NSString *)name
{
    _name = name;
}

-(NSString *)getName
{
    return _name;
}

调用

    Person *person = [[Person alloc]init];
    [person setName:@"guligei"];
    NSLog(@"\nname:%@",[person getName]);

打印输出:

2014-07-29 18:49:05.399 MS[8864:60b]
name:guligei

二,使用@property,@synthesize

.h

@interface Person : NSObject

@property(nonatomic,strong) NSString *name;

@end

.m

@implementation Person

@synthesize name;

@end

调用

 Person *person = [[Person alloc]init];
    person.name = @"guligei";
    NSLog(@"\nname:%@",person.name);

打印输出

2014-07-29 18:51:07.267 MS[8884:60b]
name:guligei

说明:在写model的时候,会有很多属性 需要实现set,get方法,写起来枯燥,而 Xcode提供了@property和@synthesize属性,编译器会自动帮你加上 getter 和 setter 方法的实现。 PS: 在Xcode4.5及以后的版本中,可以省略@synthesize ,默认会去访问 _name(本例中使用)  这个成员变量,如果找不到 _name这个成员变量,会自动生成一个叫做 _name的私有成员变量。

setter, getter, @property , @synthesize,布布扣,bubuko.com

时间: 2024-10-13 11:50:32

setter, getter, @property , @synthesize的相关文章

黑马程序员_Objective C中的@property 与 @synthesize 快速生成setter getter方法

<a href="http://www.itheima.com"target="blank">ASP.Net+Unity开发</a>.<a href="http://www.itheima.com"target="blank">.Net培训</a>.期待与您交流! 一般来说在一个类中 成员变量是会有setter 跟getter方法的. 如果每一个成员变量的setter 跟gett

@property @synthesize 对着set方法和get方法

@property @synthesize 这两个的作用是代替set和get方法: @property int age;代替下面两句 - (void)setAge:(int)age; - (int)age; 作用: 自动生成某个成员变量的setter和getter声明: @property double weight; @property NSString *name; 现在需要到实现中去实现: 使用@synthesize age;会把age property这些声明进行实现: @synthes

@property @synthesize解决了什么问题

@property的作用是定义属性,声明getter,setter方法.(注意:属性不是变量) @synthesize的作用是实现属性的,如getter,setter方法. 在声明属性的情况下如果重写setter,getter,方法,就需要把未识别的变量在@synthesize中定义,把属性的存取方法作用于变量.如: .h文件中 @property (nonatomic,assign)NSInteger age; @property (nonatomic,retain)NSString * na

@property @synthesize的含义以及误区。

@property的作用是定义属性,声明getter,setter方法.(注意:属性不是变量) @synthesize的作用是实现属性的,如getter,setter方法. 在声明属性的情况下如果重写setter,getter,方法,就需要把未识别的变量在@synthesize中定义,把属性的存取方法作用于变量.如: .h文件中 @property (nonatomic,assign)NSInteger age; @property (nonatomic,retain)NSString * na

@property @synthesize的含义以及误区

@property的作用是定义属性,声明getter,setter方法.(注意:属性不是变量) @synthesize的作用是实现属性的,如getter,setter方法. 在声明属性的情况下如果重写setter,getter,方法,就需要把未识别的变量在@synthesize中定义,把属性的存取方法作用于变量.如: .h文件中 @property (nonatomic,assign)  NSInteger age; @property (nonatomic,retain)  NSString

成员变量的作用域,@property,@synthesize

成员变量的作用域 public:在任何地方都能直接访问对象的成员变量 private:只能在当前类的对象方法中直接访问(@implement中默认的) protected:可以在当前类及其子类的对象方法中直接访问(@interface中默认的) package:只要处在同一框架中,就能直接访问对象的成员变量 @property,@synthesize @property:可以自动生成某个成员变量的setter.getter方法: @synthesize:自动生成成员变量的setter.gette

「OC」@property @synthesize和id

一.@property @synthesize关键字 这两个关键字是编译器特性,让Xcode可以自动生成getter和setter. (一)@property 关键字 @property 关键字可以自动生成某个成员变量的setter和getter的声明 如:@property int age; 编译时遇到这一行,则自动扩展成下面两句: - (void)setAge:(int)age; - (int)age; (二)@synthesize关键字 @synthesize关键字帮助生成成员变量的set

学习es6 setter/getter研究

1.背景 在ES6中,我们对类的定义如下 1 class Person { 2 // 构造函数 3 constructor (name) { 4 // 属性初始化 5 this.name = name; 6 } 7 8 // 成员方法 9 sayName () { 10 console.log(this.name); 11 } 12 13 // 静态方法 14 static sayHi () { 15 console.log("Hi~"); 16 } 17 } 其实本质还是基于java

OC语言@property @synthesize和id

一.@property @synthesize 这两个关键字是编译器特性,让xcode可以自动生成gettersetter的声明和实现. (一)@property  @property 关键字可以自动生成某个成员变量的settergetter方法的声明 @property int age; 编译时遇到这一行,则自动扩展成下面两句: - (void)setAge:(int)age; - (int)age; (二)@synthesize @synthesize关键字帮助生成成员变量的setterge