• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            f(sixleaves) = sixleaves

            重劍無鋒 大巧不工

              C++博客 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
              95 隨筆 :: 0 文章 :: 7 評論 :: 0 Trackbacks
            main.m
             1 //
             2 //  main.m
             3 //  @property參數與setter方法.m
             4 //
             5 //  Created by sixleaves on 15/5/8.
             6 //  Copyright (c) 2015年 itcast. All rights reserved.
             7 //
             8 
             9 #import <Foundation/Foundation.h>
            10 #import "Person.h"
            11 int main(int argc, const char * argv[]) {
            12     
            13     Person *p = [[Person alloc] init];
            14     
            15     p.rich = YES;
            16     
            17     BOOL b = [p isRich];
            18     NSLog(@"isRich = %d", b);
            19     
            20     p.weight = 100;
            21     NSLog(@"weight = % d", p.weight);
            22     return 0;
            23 }
            24 /*
            25  @property的相關參數詳細介紹
            26  
            27  1.與setter內存管理相關參數。
            28  retain : release舊值,retain新值。也就是于我們自己實現setter方法內存管理一樣。
            29  assign : 直接賦值
            30  copy : release舊值,copy新值
            31  
            32  2.是否生成setter方法
            33  readwrite:setter與getter都生成。
            34  readonly:只生成getter
            35 
            36  3.多線程管理
            37  nonatomic:不保持原子性,性能高、
            38  atomic:保持原子性,性能低(默認)
            39  
            40  4.setter與getter的名字
            41  setter :決定set方法的名稱, 一定要用冒號:
            42  getter :決定get方法的名稱(一般用在BOOL類型上)
            43  
            44  */
            45 


            Person.h
             1 //
             2 //  Person.h
             3 //  @property參數與setter方法.m
             4 //
             5 //  Created by sixleaves on 15/5/8.
             6 //  Copyright (c) 2015年 itcast. All rights reserved.
             7 //
             8 
             9 #import <Foundation/Foundation.h>
            10 
            11 @interface Person : NSObject
            12 
            13 @property (nonatomic, assign, getter = isRich) BOOL rich;
            14 
            15 @property (nonatomic, retain) NSString *name;
            16 
            17 @property (nonatomic, assign, readwrite, getter = abc, setter = setAbc:) int weight;
            18 
            19 @end
            20 
            Person.m
             1 //
             2 //  Person.m
             3 //  @property參數與setter方法.m
             4 //
             5 //  Created by sixleaves on 15/5/8.
             6 //  Copyright (c) 2015年 itcast. All rights reserved.
             7 //
             8 
             9 #import "Person.h"
            10 
            11 @implementation Person
            12 
            13 @end
            14 
            posted on 2015-05-08 20:41 swp 閱讀(178) 評論(0)  編輯 收藏 引用 所屬分類: objective-c
            亚洲一区精品伊人久久伊人| 久久夜色精品国产| 99精品久久精品一区二区| 漂亮人妻被黑人久久精品| 国产∨亚洲V天堂无码久久久| 亚洲综合精品香蕉久久网97| 欧美日韩中文字幕久久久不卡| 欧美亚洲国产精品久久高清| 精品一区二区久久| 久久久久亚洲AV无码专区首JN | 精品国产乱码久久久久软件| 亚洲狠狠婷婷综合久久蜜芽| A狠狠久久蜜臀婷色中文网| 激情久久久久久久久久| 国产成人久久精品一区二区三区| 久久免费大片| 999久久久国产精品| 色综合久久久久无码专区| 色天使久久综合网天天| 精品精品国产自在久久高清| 久久午夜夜伦鲁鲁片免费无码影视| 久久er热视频在这里精品| 日韩精品久久久久久久电影蜜臀| 性做久久久久久久久久久| 品成人欧美大片久久国产欧美| 日韩精品久久久肉伦网站| 亚洲午夜久久久久妓女影院 | 久久免费的精品国产V∧| 婷婷久久综合九色综合九七| 99久久免费只有精品国产| 国产成人久久精品一区二区三区| 一本色道久久88精品综合| 狠狠色婷婷久久综合频道日韩| 亚洲人成网站999久久久综合| 久久天天躁狠狠躁夜夜2020老熟妇 | 久久国产精品无码一区二区三区 | 久久亚洲av无码精品浪潮| 免费观看成人久久网免费观看| 久久精品国产亚洲一区二区| 久久国产成人午夜aⅴ影院 | 伊人久久大香线蕉AV色婷婷色|