OC -- @property

作者: J_coco | 来源:发表于2016-01-21 11:39 被阅读0次

建立一个Person类

@interface --> @end ==> .h中类的声明
@implementation --> @end ==> .m 中类的实现
@property(nonatomic,assgin/copy/strong) 属性类型 属性名(不需要'_') ==> .h 中属性声明

@property:
创建属性和属性的set/get 方法
产物:->1.'_'属性 2.set方法 3.get方法

@property 声明属性的关键字
1.原子性:nonatomic -> 在多线程环境下,不存在线程保护 -->速度快(建议使用)
2.类型:assign -> 属性类型是 BOOL int long float double NSInteger
copy -> 字符串 NSString
strong/retain -> (除了字符串以外的)对象类型
3.读写性:readwrite -> set 和 get 可读可写
readonly -> get 只读
读写性可以省略 -->默认是 readwrite

属性名称不需要加下划线 -> 产生的属性自带 '_'

Person.h

#import <Foundation/Foundation.h>

@interface Person : NSObject

@property(nonatomic,copy)NSString *name;
@property(nonatomic,assign,readwrite)int age;
@propert(nonatomic,strong)int idcard;

@end

Person.m

#import "Person.h"
@implementation Person

@end

main.m

#import <Foundation/Foundation.h>
#import "Person.h"

int main(int argc, const char *argv[])
{  
  @autoreleasepool
  {
    Person *p = [[Person alloc]init];

    //1.构造
    int age = 18;
    NSString *string = @"呆毛";
    int idcard = 1234567890987;

    //2.写入
    [p setAge:age];
    [p setName:string];
    [p setIdcard:idcard];

    3.读取
    NSLog(@"age -> %d",[p age]);
    NSLog(@"name -> %@",[p name]);
    NSLog(@"idcard -> %d",[p ])
  }
  return 0;
}

相关文章

  • OC @property

    @property(属性) 属性是对成员变量setter和getter的封装。 特性关键字 1. 原子性 atom...

  • OC - property

    @property变量 1.@property定义的变量,默认的修饰符是什么? 关于ARC下,不显示指定属性关键字...

  • OC -- @property

    建立一个Person类 @interface --> @end ==> .h中类的声明@implementatio...

  • OC Property

    1、四种写法的区别: PS:注意以下两点: 1>修饰属性问题,小心闪退: 上面的代码会闪退的。相当于以下代码。 正...

  • 52个有效方法(6) - 理解“属性”这一概念

    “属性”(property)是OC的一项特性,用于封装对象中的数据。 @property @Property是声明...

  • @property参数

    ARC 1>OC对象类型 @property(nonatomic,strong)类名 *属性名 @property...

  • iOS属性

    什么是属性 属性是OC语言中的一个机制,我们在OC中用@property来声明一个属性,其实@property是一...

  • iOS基础之Objective-C(一)

    OC面向对象新增语法:1、属性生成器: @property //声明属性例:@property (nonatomi...

  • OC - @property定义

    对于OC中的Model,需要定义多个@property参数,其格式如下: @property (strong, n...

  • iOS属性

    OC属性 在OC中用@property来声明一个属性,其实@property是一个语法糖,编译器会自动为实力变量生...

网友评论

    本文标题:OC -- @property

    本文链接:https://www.haomeiwen.com/subject/lwplkttx.html