2012年8月30日 星期四

【API】Google Weather API 停止服務

話說…

大家最愛用的Google Weather API ,因iGoogle停止服務的關係,也跟著被停…

詳情請看   It appears Google has quietly killed its weather API

唉…這麼好用又免費的API…真的是可惜了

(雖然天氣預報不是很準… =  =)

但它真的很好上手,很適合新手使用…

為了米布維護的專案…

米布又找到了一個免費的 Weather API - World Weather Online

因為它簡單又好用…所以就不貼圖啦!

只要註冊好一個API key就可以生出一段URL

就可以用這個產生出來的URL開始解析相關資料了。

輸出的格式目前只有三種:XML、JSON、CSV

到時候就看各位怎麼選擇了…

再附上相關的world weather online 提供的 icon資訊


【iOS】NSString & NSMutableString

資料來源:NSString Class Reference  & NSMutableString Class Reference

NSString

類型:物件

NSMutableString 和它是延伸關係



兩者不同性:

     差就差在彈性度。

    NSString 一但放入內容了,就無法直接做更改變動;相較之下,NSMutableString就沒有太大的問題。

    NSString如果內容要做更動的話,只能用NSString(舊,未處理) = NSString(新,已處理)做覆蓋的動作,而不是NSMutableString直接增加、刪除、修改字元。

相關應用:

切割字串

    米布比較常用有以下四種寫法,其實它不止四種,有需要其他寫法的,可以到Apple Class Reference 上做查詢。

- (NSString *)substringWithRange:(NSRange)aRange

- (NSString *)substringFromIndex:(NSUInteger)anIndex

- (NSString *)substringToIndex:(NSUInteger)anIndex

以上三種簡單來說就是 - 取某一區域的字。

範例字串:NSString *tmp_str = @"ABCDEFG";

substringWithRange就是取特定區域

例:
NSString *result_str = [tmp_str substringWithRange:NSMakeRange(2,3)];

結果為 result_str = @"CDE";


substringFromIndex就是截取從字元位置開始一直取到最後
例:
NSString *result_str = [tmp_str substringFromIndex:3];

結果為 result_str = @"DEFG";

substringToIndex就是頭截取到你定義的字元位置

例:
NSString *result_str = [tmp_str substringToIndex:3];

結果為 result_str = @"ABC";




另外,還有一種很方便的方法來做字串的切割!!!這種很適合用於陣列資料轉字串,再轉回陣列所用。


- (NSArray *)componentsSeparatedByString:(NSString *)separator

範例字串:NSString *tmp_str = @"AB|CDE%FG";

NSArray *result_ary = [tmp_str componentsSeparatedByString:@"|"];

結果為 result_ary = {@"AB",@"CDE%FG"};

看出來了嗎!!!

它利用特定符號來做切割的動作,要是之前用一個for迴圈將NSArray的內容用一個符號串成字串,就不怕資料儲存不易,加上用這個來做還原,是不是很棒啊!!!!