• <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

            重劍無(wú)鋒 大巧不工

              C++博客 :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
              95 隨筆 :: 0 文章 :: 7 評(píng)論 :: 0 Trackbacks
            OC中常用的結(jié)構(gòu)體有NSRange、(NSPoint、NSSize、NSRect)后面三個(gè)由于開發(fā)中,為了跨平臺(tái)的原因。
            一般都用CGPoint、CGSize、CGRect代替。所以我們主要介紹和掌握NSRange、CGPoint、CGSize、CGRect
            即可。(在OC中NSPoint、NSSize、NSRect其實(shí)是對(duì)應(yīng)CG類型的typedef,也就是說(shuō)他們是等價(jià)的)。

              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都是對(duì)應(yīng)的
             11  CGPoint、CGSize、CGRect的typedef
             12  所以以上這三個(gè)于其對(duì)應(yīng)的都一樣。
             13  */
             14     
             15     NSRange r1 = {2, 4}; // 不用,表達(dá)不清楚
             16     NSRange r2 = {.location = 2, .length = 4}; // 不用,太冗余
             17     
             18     // 一般用這個(gè), 因?yàn)楹瘮?shù)的參數(shù)有說(shuō)明參數(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     // 查找某個(gè)字符串在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; // 左上角的點(diǎn)位置
             49         CGSize size;    // 長(zhǎng)、寬
             50      };
             51      */
             52     /*
             53         總結(jié):
             54             開發(fā)中一般都用CGPoint、CGSize、CGRect, 因?yàn)檫@些是跨平臺(tái)的。
             55             創(chuàng)建CG結(jié)構(gòu)體的函數(shù)都是結(jié)構(gòu)體函數(shù)名開頭 + Make
             56             
             57             CGFloat等效于double類型。CGPoint用來(lái)表示一個(gè)點(diǎn)
             58             CGSize用來(lái)表示大小的寬高。
             59             CGRect是由CGPoint、CGSize組成,表示一個(gè)矩形。
             60      
             61      */
             62     
             63     CGRect r = CGRectMake(0, 0, 100, 50); // 前兩個(gè)構(gòu)成CGPoint, 后兩個(gè)構(gòu)成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     // 快速返回結(jié)構(gòu)體內(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  總結(jié):
             94  1.各個(gè)結(jié)構(gòu)體的含義
             95     NSRange:表示范圍(loc, len)。
             96     CGPoint:表示二維坐標(biāo)系的一個(gè)點(diǎn)
             97     CGSize:表示二維空間的一個(gè)大小
             98     CGRect:表示二維空間的一個(gè)矩形
             99 
            100  2.創(chuàng)建結(jié)構(gòu)體的常用方法:使用函數(shù)
            101     CG結(jié)構(gòu)體名 + Make
            102  
            103  3.快速打印結(jié)構(gòu)體的方式
            104  NSStringFromRange\NSStringFromPoint\NSStringFromSize\NSStirngFromRect
            105  都是返回結(jié)構(gòu)體內(nèi)部的數(shù)據(jù)成員用字符串拼接起來(lái)。
            106  
            107  4.CGFloat的本質(zhì):double
            108  */
            posted on 2015-05-13 21:13 swp 閱讀(262) 評(píng)論(0)  編輯 收藏 引用 所屬分類: objective-c
            久久综合色老色| 怡红院日本一道日本久久 | 国产精品伊人久久伊人电影 | 成人免费网站久久久| 久久福利青草精品资源站| 国产福利电影一区二区三区久久老子无码午夜伦不 | 亚洲人成精品久久久久| 国产精品9999久久久久| 美女久久久久久| 91视频国产91久久久| 国产精品乱码久久久久久软件| 狠狠88综合久久久久综合网| 亚洲精品国精品久久99热| 国产精品久久久福利| 久久中文字幕人妻丝袜| 99久久精品免费看国产| 热re99久久精品国99热| 一个色综合久久| 欧美麻豆久久久久久中文| 久久久久综合网久久| 无码伊人66久久大杳蕉网站谷歌 | 久久久无码一区二区三区| 国产成人精品久久亚洲高清不卡 | 伊人久久大香线蕉综合Av| 亚洲Av无码国产情品久久| 国产高潮国产高潮久久久91 | 久久久精品久久久久久| 久久综合九色综合欧美狠狠| 精品久久久无码人妻中文字幕豆芽 | 亚洲成色999久久网站| 99精品国产综合久久久久五月天 | 2021少妇久久久久久久久久| 无码人妻久久久一区二区三区| 亚洲国产成人精品女人久久久| 国产日韩欧美久久| 九九久久精品国产| 国产免费福利体检区久久| 久久高潮一级毛片免费| 精品国产婷婷久久久| 欧美激情精品久久久久久久九九九| 国产精品伊人久久伊人电影 |