黑馬程序員------oc foundation結構框架

   ——Java培訓、Android培訓、iOS培訓、.Net培訓、期待與您交流! ——-



   Foundation框架介紹 

      


     框架是由許多類、方法、函數、文檔按照一定的邏輯組織起來的集合,以便使研發程序變得更容易在OS X下的Mac操作系統中大約

有80個框架爲所有程序開發奠定基礎的框架稱爲Foundation框架

     Foundation框架允許使用一些基本對象,如數字和字符串,以及一些對象集合,如數組,字典和集合,其他功能包括處理日期和時

間、內存管理、處理文件系統、存儲(或歸檔)對象、處理幾何數據結構(如點和長方形) 

   

   Foundation框架的作用

Foundation框架在開發中常用的數據類型有:

    結構體 

     枚舉
   
   類 

 幾個常用的結構體有NSRange,NSPoint,NSSize,NSRect等

NSRange

比如NSRange r = {2, 6}; 第一個數是起始位置,第二個數是長度。

#import <Foundation/Foundation.h>
int main()
{
    NSString *str = @"china";
    NSRange range = [str rangeOfString:@"in"];
    NSLog(@"range.location = %ld, range.length = %ld", range.location, range.length);
    return 0;
}


利用NSRange結構體獲得了一個字符串在另一個字符串中的起始位置和長度。運行結果是: 
range.location = 2, range.length = 2


NSPoint 
它表示一個點。常用的創建方式是:NSPoint point = NSMakePoint(10, 15); 

或者NSPoint point = CGPointMake(10,15)


 
NSSize:

它表示大小,它的兩個參數分別表示x軸和y軸上的一個範圍,常用的創建NSSize變量的方式是:NSSize size = NSMakeSize(8, 13); 或者

NSSize size = CGSizeMake(8, 13);。 


 
NSRect 


它表示一個矩形,它有四個參數前兩個表示一個點,代表這個矩形的起始位置,後兩個表示它的長和寬。

  NSRect就是NSPoint和NSSize的組合。

通常我們這樣創建一個NSRect變量:NSRect rect = NSMakeRect(0, 0, 5, 9); 或者NSRect rect = CGRectMake(0, 0, 5, 9); 

#import <Foundation/Foundation.h>
int main()
{
    NSPoint p = NSMakePoint(1, 2);
    
NSSize s = NSMakeSize(8, 4);

    NSRect r = {p, s};

    NSLog(NSStringFromRect(r));    //輸出變量r的值
    NSLog(@"r.origin.x = %.2f, r.origin.y = %.2f, r.size.width = %.2f, r.size.height = %.2f",r.origin.x, r.origin.y, r.size.width, r.size.height);
    return 0;
}

簡單展示了NSPoint、NSSize和NSRect。運行結果是: 
{{1, 2}, {8, 4}} 
r.origin.x = 1.00, r.origin.y = 2.00, r.size.width = 8.00, r.size.height = 4.00

字符串

符串類分爲兩種:一種是不可變字符串(NSString)另一種是可變字符串(NSMutableString),可變字符串是不可變字符串的子類。


不可變字符串: 

初始化字符串:NSString *str=[[NSString alloc] initWithString:@"Objective-C string"]; 

快速創建字符串:NSString *str=@"OC string"; 

帶格式轉換的字符串:NSString *str=[[NSString alloc] initWithFormat:@"age is %d,height is %.2f",19,1.72f]; 

面是使用對象方法創建字符串的方式,也可以用類方法創建: 


初始化字符串:NSString *str = [NSString stringWithString:@"liyi"]; 

或者:NSString *str = [NSString stringWithFormat:@"age is %d", 20]; 

可變字符串 

可變字符串和不可變字符串的創建方法一樣,只不過換成了NSMutableString類。 

#import <Foundation/Foundation.h>

int main()

{
    NSMutableString *s1 = [NSMutableString stringWithFormat:@"my age is 10"];      
//創建一個可變字符串

   [s1   appendString:@" 11 12"];      // 拼接內容到s1的後面   

   NSRange range = [s1  rangeOfString:@"is"];     // 獲取“is”的範圍

    [s1 deleteCharactersInRange:range];        //刪除“is”

    NSString *s2 = [NSString stringWithFormat:@"age is 10"];      //創建一個不可變字符串

    NSString *s3 = [s2 stringByAppendingString:@" 11 12"];      //如果要在s2後面接字符串的話會產生一個新的字符串

    NSLog(@"s1=%@, s2=%@", s1, s2);

     return 0;

}



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章