• <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
            OC中常用的結構體有NSRange、(NSPoint、NSSize、NSRect)后面三個由于開發中,為了跨平臺的原因。
            一般都用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     // 一般用這個, 因為函數的參數有說明參數的意思。
             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             開發中一般都用CGPoint、CGSize、CGRect, 因為這些是跨平臺的。
             55             創建CG結構體的函數都是結構體函數名開頭 + 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     // 快速返回結構體內部的成員值。
             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.創建結構體的常用方法:使用函數
            101     CG結構體名 + Make
            102  
            103  3.快速打印結構體的方式
            104  NSStringFromRange\NSStringFromPoint\NSStringFromSize\NSStirngFromRect
            105  都是返回結構體內部的數據成員用字符串拼接起來。
            106  
            107  4.CGFloat的本質:double
            108  */
            posted on 2015-05-13 21:13 swp 閱讀(247) 評論(0)  編輯 收藏 引用 所屬分類: objective-c
            www.久久精品| 久久久亚洲欧洲日产国码aⅴ| 欧美亚洲国产精品久久蜜芽| 草草久久久无码国产专区| 久久国产精品偷99| 久久AV无码精品人妻糸列| 久久综合中文字幕| 久久久久亚洲国产| 久久久久久亚洲精品成人 | 91久久精品视频| 亚洲国产成人久久笫一页| 午夜精品久久久久久久| 久久99精品国产麻豆婷婷| 久久久久久无码Av成人影院| 伊人久久精品线影院| 久久久久亚洲AV无码麻豆| 九九热久久免费视频| 国内精品人妻无码久久久影院| 亚洲国产成人精品91久久久| 97久久超碰国产精品旧版| 亚洲人成电影网站久久| 国产精品免费久久| 国产精品一久久香蕉国产线看观看| 青青草原综合久久大伊人导航| 成人久久久观看免费毛片| 久久亚洲精品成人无码网站| 久久精品亚洲男人的天堂| 伊人久久大香线焦综合四虎| 国产亚洲精久久久久久无码| 久久精品国产男包| 伊人久久综合精品无码AV专区 | 精品久久久久久久国产潘金莲| 久久精品中文字幕无码绿巨人| 精品久久人人爽天天玩人人妻| 久久影视综合亚洲| 久久男人AV资源网站| 亚洲欧美一区二区三区久久| 一本色道久久综合狠狠躁篇 | 久久996热精品xxxx| 国产亚州精品女人久久久久久 | 狠狠人妻久久久久久综合|