iOS Foundation架構簡介

來源:互聯網
上載者:User

1.安裝Xcode工具後會內建開發中常用的架構,存放的地址路徑是:

/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS7.0.sdk/System/Library/Frameworks/

2.在iOS開發中所有架構中Foundation架構是最基礎的架構,Foundation架構裡麵包含了常用的類和資料類型比如結構體、枚舉等

3.使用Foundation架構只要包含它的主標頭檔<Foundation/Foundation.h>即可,主標頭檔裡麵包含了架構中所有內容的標頭檔

4.Foundation架構中常用的結構體:

NSRange、NSPoint\CGPoint、NSSize\CGSize、NSRect\CGRect

(1) 一般結構體的用法如下:

             Date date = {,,     Date date2 = {.year=, .day=, .month=};

 

(2) NSRange結構體:用來描述範圍

  • 查看官方定義的NSRange
typedef     NSUInteger length;      } NSRange;

  • NSRange的簡單說明和用法
        NSRange r1 = {,    NSRange r2 = {.location = , .length =          NSRange r3 = NSMakeRange(, ); 
  • 尋找NSString類對象中某些字元在整個類對象中的NSRange
*str = 
NSRange range = [str rangeOfString:
NSLog(,range.location,rang.length);

 

        # define CGFLOAT_TYPE                 typedef     typedef CGPoint NSPoint;

 

        CGPoint point = NSMakePoint(, );      NSPoint point2 = CGPointMake(, ); 

 

(3)NSSize結構體:描述元素的尺寸(寬和高),定義和NSPoint類似不再贅述,一般用法為:

 

    CGSize size = NSMakeSize(, = CGSizeMake(, ); 

 

(4)CGRect結構體:用於描述元素的位置(CGPoint)和尺寸(CGSize),因此可以說

  • 官方定義的CGRect
  CGSize size;    };
typedef CGRect CGRect;
  • 一般用法
        CGRect rect = CGRectMake(, , ,     NSRect rect2 = NSMakeRect(, , , );
  • 其他用法




CGRect rect = {{,},{, NSPoint point = CGPointMake(, = CGSizeMake(, = CGRect rect3 = {CGPointZero,CGSizeMake(, )};

 

(5)類比函數CGRectMake的實現過程

    rect.origin.x ==    rect.size.width ==

 

5.如何快速查看結構體中的值

  • 第一種方式:從結構體中將值依次取出來
    NSRect rect = CGRectMake(, , ,       NSLog(
    NSRect rect = CGRectMake(, , ,     NSString *strRect =    NSLog(,strRect);

 

6.結構體比較常用的函數

  • 結構體常用函數是在CoreGraphics.framework架構下面,因此需要先添加架構

 

  • 較常用的方法
        BOOL pointIsEqual = CGPointEqualToPoint(CGPointMake(, ), CGPointMake(,     BOOL sizeIsEqual = CGSizeEqualToSize(CGSizeMake(, ), CGSizeMake(,     CGRect rect1 = {{,},{,    NSPoint point = CGPointMake(, = CGSizeMake(, =    BOOL rectIsEqual =    BOOL isContent = CGRectContainsPoint(rect1, CGPointMake(, ,isContent);

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.