2015年1月29日 星期四

NSUserDefaults無預警變為nil的問題

//在每次改變其值之後都執行它的synchronize方法即可
[[NSUserDefaults standardUserDefaults] synchronize];

2015年1月28日 星期三

解決alertController無法像alertView那樣重覆推出來的問題

UIViewController *presentingViewController = [[[UIApplication sharedApplication] delegate] window].rootViewController;
        //因為一個ViewController只能present新的VC一次,故如果它present過了,就去抓取它present出來的VC來再present新的VC
        if (presentingViewController.presentedViewController != nil)
        {
            presentingViewController = presentingViewController.presentedViewController;
        }

        [presentingViewController presentViewController:alertController animated:YES completion:nil];

2015年1月27日 星期二

如何將NSString轉成NSNumber

//新增一個numberFormatter
NSNumberFormatter *numberFormatter = [[NSNumberFormatter alloc] init];
//將style設定為NSNumberFormatterDecimalStyle
numberFormatter.numberStyle = NSNumberFormatterDecimalStyle;
//NSString轉成NSNumber

NSNumber *piNumber = [numberFormatter numberFromString:@"3.141592654"];

Note.若數字格式不正確,則piNumber會被指定為nil。

2015年1月26日 星期一

判斷是否使用UIAlertController


//重點一:UIAlertController要在畫面出來之後才可以使用,所以要寫在viewDidAppear不可以寫在viewDidLoad

//重點二:判斷時最好使用「尋找方法是否存在」的方式,而不要以iOS版本做判斷,以免造成未來改版時的誤判。
if (NSClassFromString(@"UIAlertController") != nil)
        {
            //使用UIAlertController
        }
        else {
            //使用UIAlertView

        }