ตอนเนื่องจากตอนทีแล้ว Three20 ตอน 1 - มาทำความรู้จัก Three20 กันเถอะ
 
 
ด้วยตัว Three20 ที่ถูกพัฒนาโดยวิศวกรของ Facebook ทำให้มันมีส่วนเสริมหลายๆ ตัวที่ช่วยในการจัดการ HTML Tag และ HTTP Request เตรียมไว้ให้แล้ว ทำให้ช่วยเวลาในการพัฒนาลงไปได้มาก เนื่องจากการเรียกใช้ทำได้ภายใน 1-2 บรรทัดเท่านั้น

NSString Additions

 
Check whitespace
ใช้สหรับตรวจสอบว่า HTML String ที่เรารับมามีค่าว่าง (\t\n หรือ ช่องว่าง) หรือไม่ ตอบกลับเป็น True/False
Input
NSLog(@"\n\n====== NSString : white space =======");
NSString* ws = @" \t\n";
NSString* empty = @"    ";
NSString* nws = @"hello";
NSLog(@"'%@' contains only whitespace ? : %d", ws, [ws isWhitespaceAndNewlines]);
NSLog(@"'%@' contains only whitespace ? : %d", nws, [nws isWhitespaceAndNewlines]);      
NSLog(@"'%@' is empty? : %d", empty, [empty isEmptyOrWhitespace]);
 
Output
 
' 
' contains only whitespace ? : 1
'hello' contains only whitespace ? : 0
'    ' is empty? : 1

 
Strip HTML tags
ใช้สำหรับแปลงโค้ด HTML เป็นเป็น Text โดยจะตัด Tag HTML ออกทั้งหม  
 
Input
NSLog(@"\n\n====== NSString : stripHTML =======");
NSString* html = @"I am an HTML script.";
NSString* stipped = [html stringByRemovingHTMLTags];
NSLog(@"html : %@", html);
NSLog(@"stripped : %@", stipped);
Output
====== NSString : stripHTML =======
html : I <b>am</b> an HTML script.
stripped : I am an HTML script.
 
Parsing URL query parameters
 
ตัวนี้ผมใช้บ่อยมาก ใช้ช่วยแปลง URL เป็น NSDictionary ให้อัตโนมัติ มาดูตัวอย่างกันเลยดีกว่า
 
Input
NSLog(@"\n\n====== NSString : parse URL params =======");
NSURL* url = [NSURL URLWithString:
  @"http://www.google.com/search?sourceid=chrome&;ie=UTF-8&q=pizza"];
NSString* paramString = [url query];
NSDictionary* params = [paramString queryDictionaryUsingEncoding:NSASCIIStringEncoding];
NSLog(@"url : %@", url);
NSLog(@"params:\n%@", params);
Output
====== NSString : parse URL params =======
url : http://www.google.com/search?sourceid=chrome&;ie=UTF-8&q=pizza
params:
{
    ie = "UTF-8";
    q = pizza;
    sourceid = chrome;
}
 
Create a URL from parameters
 
ใช้สร้าง URL จากพารามิเตอร์ต่างๆ  หลักการทำงานคือส่วนทางกับ "Parsing URL query parameters"
 
Input

NSLog(@"\n\n====== NSString : create URL query string =======");
NSString* baseUrl = @"http://www.yahoo.com/search";
NSMutableDictionary* params = [[NSMutableDictionary alloc] init];
[params setValue:@"pizza" forKey:@"q"];
[params setValue:@"json" forKey:@"format"];
NSString* fullURL = [baseUrl stringByAddingQueryDictionary:params];
NSLog(@"query parameters\n%@", params);
NSLog(@"query string is : %@", fullURL);
Output

====== NSString : create URL query string =======
query parameters
{
    format = json;
    q = pizza;
}
query string is : http://www.yahoo.com/search?q=pizza&;format=json
 
 
md5 hash
 
อันนี้ของแถม เพราะไม่ได้เกี่ยวกับ HTML แต่เป็นส่วนเสริมของ NSString ที่น่าสนใจเหมือนกัน ใช้สำหรับเข้ารหัส MD5
 
input

NSLog(@"\n\n====== NSString : md5 =======");
NSString* s1 = @"hiya Three20 world";
NSString* md5 = [s1 md5Hash];
NSLog(@"md5('%@') =>  %@", s1, md5);
output

====== NSString : md5 =======
md5('hiya Three20 world') =>  6fd98ef06e6041b87dbe8dc978b95c4c
md5Hash is also available for NSData
 
 

Comment

Comment:

Tweet

To see a http://www.mmolive.com/ and http://www.mmohome.com/ world in a granda of Buy Diablo 3 Gold stand.And a heaven in a wild flower.Hold infinity in the palm your hand and eternity in an hour.

#1 By mmolive on 2012-11-10 12:14