• <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++博客 :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
              95 隨筆 :: 0 文章 :: 7 評論 :: 0 Trackbacks
            OC中常用的結構體有NSRange、(NSPoint、NSSize、NSRect)后面三個由于開發(fā)中,為了跨平臺的原因。
            一般都用CGPoint、CGSize、CGRect代替。所以我們主要介紹和掌握NSRange、CGPoint、CGSize、CGRect
            即可。(在OC中NSPoint、NSSize、NSRect其實是對應CG類型的typedef,也就是說他們是等價的)。

              1 #import <Foundation/Foundation.h>
              2 
              3 int main(int argc, const char * argv[]) {
              4 /*
              5  NSRange {location, length};
              6  NSPoint {} \ CGPoint
              7  NSSize {} \ CGSize
              8  NSRect {} \ CGRect
              9  
             10  NSPoint、NSSize、NSRect都是對應的
             11  CGPoint、CGSize、CGRect的typedef
             12  所以以上這三個于其對應的都一樣。
             13  */
             14     
             15     NSRange r1 = {2, 4}; // 不用,表達不清楚
             16     NSRange r2 = {.location = 2, .length = 4}; // 不用,太冗余
             17     
             18     // 一般用這個, 因為函數(shù)的參數(shù)有說明參數(shù)的意思。
             19     NSRange r3 = NSMakeRange(2, 4);
             20     /*
             21          NSRange NSMakeRange(NSUInteger loc, NSUInteger len) {
             22              NSRange r;
             23              r.location = loc;
             24              r.length = len;
             25              return r;
             26          }
             27      */
             28     
             29     NSString *str = @"i love oc";
             30     // 查找某個字符串在Str中的范圍
             31     // 如果找不到, length = 0, location = NSNotFound = -1
             32     NSRange loveRange = [str rangeOfString:@"love"];
             33     NSLog(@"loc = %ld, len = %ld", loveRange.location, loveRange.length);
             34     
             35     
             36     /*
             37      struct CGPoint {
             38         CGFloat x; // CGFloat ~~~ double
             39         CGFloat y;
             40      };
             41      
             42      struct CGSize {
             43         CGFloat width; // 寬
             44         CGFloat height; // 高
             45      };
             46      
             47      struct CGRect {
             48         CGPoint origin; // 左上角的點位置
             49         CGSize size;    // 長、寬
             50      };
             51      */
             52     /*
             53         總結:
             54             開發(fā)中一般都用CGPoint、CGSize、CGRect, 因為這些是跨平臺的。
             55             創(chuàng)建CG結構體的函數(shù)都是結構體函數(shù)名開頭 + Make
             56             
             57             CGFloat等效于double類型。CGPoint用來表示一個點
             58             CGSize用來表示大小的寬高。
             59             CGRect是由CGPoint、CGSize組成,表示一個矩形。
             60      
             61      */
             62     
             63     CGRect r = CGRectMake(0, 0, 100, 50); // 前兩個構成CGPoint, 后兩個構成CGSize
             64     /*
             65      CGRect CGRectMake(CGFloat x, CGFloat y, CGFloat width, CGFloat height)
             66      {
             67          CGRect rect;
             68          rect.origin.x = x; 
             69          rect.origin.y = y;
             70          rect.size.width = width; 
             71          rect.size.height = height;
             72          return rect;
             73      }
             74      
             75      */
             76     
             77     
             78     // 快速返回結構體內(nèi)部的成員值。
             79     /*
             80         NSStringFromRange
             81         NSStringFromPoint
             82         NSStringFromSize
             83         NSStringFromRect
             84      */
             85     NSString *str1 = NSStringFromRect(r);
             86     NSLog(@"%@", str1);
             87     
             88     NSString *str2 = NSStringFromRange(r1);
             89     NSLog(@"%@", str2);
             90     return 0;
             91 }
             92 /*
             93  總結:
             94  1.各個結構體的含義
             95     NSRange:表示范圍(loc, len)。
             96     CGPoint:表示二維坐標系的一個點
             97     CGSize:表示二維空間的一個大小
             98     CGRect:表示二維空間的一個矩形
             99 
            100  2.創(chuàng)建結構體的常用方法:使用函數(shù)
            101     CG結構體名 + Make
            102  
            103  3.快速打印結構體的方式
            104  NSStringFromRange\NSStringFromPoint\NSStringFromSize\NSStirngFromRect
            105  都是返回結構體內(nèi)部的數(shù)據(jù)成員用字符串拼接起來。
            106  
            107  4.CGFloat的本質:double
            108  */
            posted on 2015-05-13 21:13 swp 閱讀(253) 評論(0)  編輯 收藏 引用 所屬分類: objective-c
            国产亚洲婷婷香蕉久久精品| 99精品国产在热久久| 思思久久精品在热线热| 东方aⅴ免费观看久久av| 韩国免费A级毛片久久| 国产激情久久久久影院老熟女| 久久亚洲色一区二区三区| 精品国产乱码久久久久久郑州公司| 久久成人影院精品777| 怡红院日本一道日本久久| 久久精品中文騷妇女内射| 久久精品国产精品亜洲毛片| 久久人人爽爽爽人久久久| 久久久久亚洲AV综合波多野结衣| 色综合久久久久综合体桃花网| 久久久久亚洲爆乳少妇无| 亚洲综合久久综合激情久久| 亚洲欧美成人综合久久久| 亚洲va久久久久| 久久免费视频6| 久久精品三级视频| 久久精品国产91久久综合麻豆自制 | 青青草国产成人久久91网| 无码日韩人妻精品久久蜜桃| 精品久久久一二三区| 日韩久久无码免费毛片软件| 国产—久久香蕉国产线看观看| 国产精品岛国久久久久| 色8久久人人97超碰香蕉987| 三级三级久久三级久久| 一日本道伊人久久综合影| 人人狠狠综合88综合久久| 久久这里有精品视频| 四虎影视久久久免费| 久久经典免费视频| 亚洲伊人久久精品影院| 无码专区久久综合久中文字幕| 久久久久久夜精品精品免费啦| 久久久久人妻一区二区三区vr| 九九久久自然熟的香蕉图片| 久久精品国产91久久综合麻豆自制|