NSString

NSString
NSString* aString = [[NSString alloc] init];
NSString* aString = @"Hello, world!";
NSInteger sizeOfString = [@"Hello, world!" length];
NSString* constantString = @"Text of the string";

NSString* originalString // "THIS IS AN EXAMPLE"= @"This is An EXAMPLE";
NSString* uppercaseString // "this is an example"= [originalString uppercaseString];
NSString* lowerCaseString // "This Is An Example"= [originalString lowercaseString]; NSString* capitalizedString = [originalString capitalizedString];

To get the first five characters in a string, you do this:
NSString* startSubstring = [originalString substringToIndex:5]; // "This " To get 

everything past the first five characters:
NSString* endSubstring = [originalString substringFromIndex:5]; // "is An EXAMPLE"



NSRange theRange = NSMakeRange(2, 5);


CGRect 就是 iOS 中,一個 UIView 的【origin (開始位置)】與【 size (大小)】的表示方式。

它是一個 C 的 struct 包含了另外兩個 C  structCGPointCGSize。


一個位置,就是一個 CGPoint ,可以用兩個浮點數 (x,y) 來表示。其座標系統為畫面的左上角為 0,0 第一個數字表示向右的數字即 x 座標,第二個數字是向下的數字, 即 y 座標。

一個 iPhone/iPodTouch 3.5 吋的直立畫面,320*480 個【 Point 】,iPad 為 768*1024, iPhone/iPodTouch 4吋則為 320*548。point 並非實際的相素,因應不同設備會有不同的的實際解析度,所以這兩個位置浮點數來計算,程式會依機器的狀況來找到最合適的實際像素。另外,對於不同的機器如 4吋 iPhone 與 iPad ,座標位置也會不同,計算方法也不同,不過在計算座標時,你不需太擔心這個問題,因為iOS會會幫你處理。因為要對應不同的實際解析度,所以這兩個數子是浮點數,而不是整數。


一個 CGPoint 你可以這樣產生:


struct CGPoint { float x; float y;
};

   CGPoint myCGPoint; 
   myCGPoint.x=10.0;
   myCGPoint.y=10.0;

而 CGSize 是表示一個大小,同樣是兩個浮點數,width 與 height,產生的方法可以用下面的程式:

  CGSize mySize;
  mySize.width=300;
  mySize.height=44;

所以一個完整的 CGRect 包含了個 叫 origin  的 CGPoint 資料,和一個叫 size 的 CGSize 資料,完整的產成方式就成了。



  CGRect myCGRect;

  CGPoint myCGPoint; 
  myCGPoint.x=10;
  myCGPoint.y=10;

  CGSize mySize;
  mySize.width=300;
  mySize.height=44;

  myCGRect.origin=myCGPoint;
  myCGRect.size=mySize;


但這實在太麻煩了,所以在 XCode 中,提供了一個 C function 來簡單產生 CGRect,叫做 CGRectMake。如果使用這個 function 上面的程式碼就可以簡寫成:  

CGRect myCGRect=CGRectMake(10, 10, 300, 44);

NSRange theRange = NSMakeRange(2,5);
NSString* substring = [originalString substringWithRange:theRange]; // "is is"

Searching Strings

NSString* sourceString = @"Four score and seven years ago";
    NSRange range = [sourceString rangeOfString:@"seven"];
if (range.location == NSNotFound) { // the string was not found
} else {
// the string was found; 'range' variable contains info on where it is
}

//Searching seven

    NSString* sourceString = @"Four score and seven years ago";
    NSRange range = [sourceString rangeOfString:@"SEVEN"
                         options:NSCaseInsensitiveSearch];
NSArray* myArray = @[@"one", @"two", @"three"];
int index = [myArray indexOfObject:@"two"];

Comments

Popular posts from this blog

MEGA 暫存檔案刪除

XAMPP 使用多PORT來執行不同網頁

IOS GCD多執行緒