[iOS] 驗證日期是否合理 (Validate Date)
由於在寫一個有趣的APP,想要讓使用者可以輸入日期—年、月、日,我需要驗證日期是否合理,再把年、月、日送到server當作參數,之後server就會吐出相對應的結果給我。 (繼續閱讀…)
由於在寫一個有趣的APP,想要讓使用者可以輸入日期—年、月、日,我需要驗證日期是否合理,再把年、月、日送到server當作參數,之後server就會吐出相對應的結果給我。 (繼續閱讀…)
時常能看到同一個有分付費版與免費版,但是又不想之後維護兩種版本的程式碼,該怎麼做呢?設定版本 (Set Version)還滿有技巧性的~
選擇 target -> Build Settings -> 搜尋 “preprocessor Macros"
在此我在Tarot with ad這個target的Debug和Release多定義AD=1。如此一來,只要在APP共用的AppDelegate加上判斷版本的method,即可讓所有Class使用。
TRAppDelegate.m定義這兩個method:
+(TRAppDelegate *)sharedAppDelegate
{
return (TRAppDelegate *)[[UIApplication sharedApplication] delegate];
}
-(BOOL)hasAd
{
#ifdef AD
return YES;
#else
return NO;
#endif
}
TRAppDelegate.h宣告這一個method,以便讓其它class呼叫:
+(TRAppDelegate *)sharedAppDelegate;
至於為何不宣告另一個method?因為透過上述method,Xcode可以自己找到另一個method來使用。
其它class只要#import “TRAppDelegate.h"即可使用該method來判斷版本。
-(void)versionInitial
{
if ([TRAppDelegate sharedAppDelegate].hasAd) {
//廣告版設定
}
else {
//非廣告版設定
}
}
參考:老闆的夥伴、iOS Multiple target in the same project。
透視變換相當值得探討,之前稍微研究了透視投影和透視縮短,還在計算機圖學課上寫了透視投影的結果,如今會了OpenCV函式庫,直接呼叫來玩玩更加有趣~
寫OpenCV相關程式,我會使用兩種IDE,一是為了簡單方便用Dev C++,二是為了測試高竿程式用Visual C++。前者我通常用C來寫,後者則以C++來寫,更有時候會把兩者兜在一起。
就如同string 和 char[]互轉這篇文章一樣,時常需要將字串來回轉換,在OpenCV中處理對象為影像,有時也需要來回轉換,於是我想記錄一下:P
由於專案需求,需要以程式來播放影片,希望能在高解析度下,還能流暢地播放影片~原本還以為OpenCV只有處理影像比較強,而處理影片則比較弱,其實不然,還是由自己親自實驗後,才知道只有跟影像有關的應用,OpenCV都有可能辦到!
為了做研究,我必須製作整個色彩空間,想以RGB「立體」的方式來產生,然而只能以「平面」的方式顯示在螢幕上,於是我寫了三維映射到二維的程式來實現~
程式將會產生4096×4096的PNG(無損壓縮格式)檔案(8.07MB),不過為了節省我寶貴的部落格空間,我將影像縮小並轉存為1024×1024的JPG(有損壓縮格式)檔案(120KB)。有興趣的人就去跑我的程式來取得整個色彩空間圖吧:)~
在國中的時候就學過內插法,在我們生活中一直有用到,只是大多數都取概數,用習慣之後甚至連內插法這個關鍵字也忘了~在此我想要把內插法寫成程式,若只是一維內插法那就太簡單了,為了研究就接續寫二維內插法和三維內插法,感覺超有趣~
關於綁鞋帶,我一直停留在一招打天下,偶然間看到以非常清楚的指示來教綁鞋帶的圖,開始覺得綁鞋帶也是一種樂趣!
HappyMan・迴響