發表文章

目前顯示的是 2012的文章

[xcode] 計算程式總行數

圖片
個別的程式行號 可以載xcode中打開line number來觀察 不過要看專案總行數的話 就麻煩了 你可以在終端機模式中 切到專案目錄下 然後鍵入  grep -d recurse "\n" *| wc -l 他會幫你算出底下文件檔的行數 See also :

好用的NSNumber

java任何變數要轉字串 只要呼叫toString就能完成 在objective c中 要先宣告一個NSString 物件 在用WithFormat傳入値 來完成字串的轉換 有時需要物件的變數 我都會使用NSNumber來做物件化 或是轉型的動作 NSNumber很強大 提供了幾乎所有型別的變數輸入 + (NSNumber *)numberWithChar:(char)value; + (NSNumber *)numberWithUnsignedChar:(unsigned char)value; + (NSNumber *)numberWithShort:(short)value; + (NSNumber *)numberWithUnsignedShort:(unsigned short)value; + (NSNumber *)numberWithInt:(int)value; + (NSNumber *)numberWithUnsignedInt:(unsigned int)value; + (NSNumber *)numberWithLong:(long)value; + (NSNumber *)numberWithUnsignedLong:(unsigned long)value; + (NSNumber *)numberWithLongLong:(long long)value; + (NSNumber *)numberWithUnsignedLongLong:(unsigned long long)value; + (NSNumber *)numberWithFloat:(float)value; + (NSNumber *)numberWithDouble:(double)value; + (NSNumber *)numberWithBool:(BOOL)value; + (NSNumber *)numberWithInteger:(NSInteger)value NS_AVAILABLE(10_5, 2_0); + (NSNumber *)numberWithUnsignedInteger:(NSUInteger)value NS_AVAILABLE(10_5, 2_0); 也能夠輸出很多種的型別 - (char)charVal...

iPad/iPhone retina display image naming rule

iOS很聰明 ipad跟iphone的影像檔 只要按照官方的naming rule 他就會幫你自動挑選合適的影像 Example: For devices without retina: ImageName.png  - For iPhone/iPod ImageName~ipad.png  -- For iPad For devices with retina display: ImageName@2x.png  - For iPhone/iPod ImageName@2x~ipad.png  -- For iPad 程式只需要寫 [UIImage imageNamed:@"ImageName.png"]; icon Size的部份 57 px, iPhone  – Good ol』 classic. 114 px, Retina iPhone 72 px, iPad 144 px, Retina iPad 29 px, iPhone Settings/Spotlight, iPad Settings   – Used in these table views. Minor, but still important! 58 px, iPhone 4 Settings/Spotlight/Notifications   – That's right, you have to make both 57 and 58 px versions of your icon – d』oh! Good luck aligning this if there's a line running down the middle of the icon. 48 px, iPad Spotlight   – Yup, the iPad uses a different size for Spotlight and Settings. Apple's docs actually say the icon is 50 px, but then there's this not...

NSString 位移運算 (shift operation)

自己寫了一個簡單的位移運算 因為沒有偵測邊界 所以用try包起來 import後 會繼承在nsstring 直接使用即可 ex: NSString *temp=[[NSString alloc] initWithString:@"test"]; NSlog("Shift=> %@",[temp shift:3]); ShiftEncode.h #import @interface NSString (ShiftEncode) - (NSString*)Shift:(int)offset; @end ShiftEncode.m #import "ShiftEncode.h" @implementation NSString (ShiftEncode) - (NSString*)Shift:(int)offset { NSMutableString* decoded = [NSMutableString stringWithString:self]; NSMutableString* DecodeStr=[[NSMutableString alloc] init]; @try{ for (int i=0;i<[decoded length];i++) { UTF16Char xx=[decoded characterAtIndex:i]; if (xx==' ') { [DecodeStr appendFormat:@" "]; }else { UTF16Char newChar=xx+offset; [DecodeStr appendFormat:@"%C",newChar]; } } }@catch (NSException *EXP) { NSLog(@"NSSTRING SHIFT :%@",EXP); DecodeStr=nil; } ...

NSString 一個好用的字串縮短(截斷)程式碼 (Using lineBreakMode on NSString) NSString-truncateToSize

圖片
再UILabel上有lineBreakMode屬性 可以讓我們選擇當字串長度過長時 要截短時要截中間還是後面 不過除了UILabel以外 還有很多地方可能會用到縮排的地方 NSString-truncateToSize就是讓我們可以指定字串長度 自動斷字的程式碼 已經用interface繼承了nsstring 因此我們直接呼叫就可以 請進入下面連結下載 https://gist.github.com/906714 效果如下 使用前(自動斷字) 使用後(指定長度斷字) 範例 title = [tempStr truncateToSize:CGSizeMake(240.0, 30.0) withFont:[UIFont systemFontOfSize:17.0f] lineBreakMode:UILineBreakModeMiddleTruncation];

ios 強制畫面旋轉

有時我們的程式只支援特定的方向 所以有時需要作強制畫面的旋轉 [[UIApplication sharedApplication] setStatusBarOrientation:UIInterfaceOrientationPortrait]; //UIInterfaceOrientationPortrait < Orientation that you want

NSLog的輸出變數一覽

NSLog的輸出變數一覽 NSlog(@" your var=%@",var); Specifier Description %@ Objective-C object, printed as the string returned by  descriptionWithLocale:  if available, or  description  otherwise. Also works with  CFTypeRef  objects, returning the result of the  CFCopyDescription  function. %% '%'  character %d ,  %D , %i Signed 32-bit integer ( int ) %u ,  %U Unsigned 32-bit integer ( unsigned int ) %hi Signed 16-bit integer ( short ) %hu Unsigned 16-bit integer ( unsigned short ) %qi Signed 64-bit integer ( long long ) %qu Unsigned 64-bit integer ( unsigned long long ) %x Unsigned 32-bit integer ( unsigned int ), printed in hexadecimal using the digits 0–9 and lowercase a–f %X Unsigned 32-bit integer ( unsigned int ), printed in hexadecimal using the digits 0–9 and uppercase A–F %qx Unsigned 64-bit integer ( unsigned long long ), printed in hexadecimal using the digits 0–9 and l...

2011 MacBook Pro 換雙硬碟

圖片
這個其實很多人做過了 不過自己第一次做 總是充滿紀念意義的   今天主要的任務是將我舊筆電上的SSD移植到MBP上 不過由於我的小筆電裝的也是SSD 所以也要一併將他的硬碟移到主力筆電上 小筆電就用一般的硬碟就好   首先當然就是先買硬碟轉接架與光碟機外接盒 早上就收到簡訊到貨啦 看看內容物 賣家號稱是"完美版"的 硬碟轉接架 可以對應到MBP上的鎖孔 驗明正身 e-SUN版   OK 第一步 先拆了小筆電的硬碟 拆這個比拆MBP還麻煩   先拔了電池 可以看到他的屁股很乾淨 沒有任何鎖點 我這台Acer AOD 255 要拆機 必須要先拆鍵盤 所以慢慢橇.. 橇開鍵盤 橇開後 記得要先拔掉排線   抽掉以後 從上面把螺絲解掉 用螺絲起子把背板推開   可以看到硬碟跟記憶體了 先把硬碟拆下來 然後是拆硬碟轉接盒裡的硬碟 NexStar 當初刻意買支援ESATA的外接盒 不過手上沒有半台筆電支援eSATA…. 裡面裝的是 WD Scoropio黑標 2.5吋500G  7200rpm 是我M11x r2原本的硬碟 可見原廠用足好料 上硬碟架… 裝機 按步驟裝回去後 開機測試 … 很好 有抓到硬碟 OK 這邊就給他先開始跑作業系統安裝了 再來是拆了M11x的硬碟 很好拆 看到螺絲就給他轉開就對了 可以看到鎂合金的骨架 還有超大顆的電池 取出硬碟 Patriot 的PYRO 120G 支援SATA3 爆發讀取可以到540MB/s 因為我的m11x只有支援到sata2 所以最多只能發揮到300MB/s 是裝火大的 故移到MBP上做最大發揮 / m11x的硬碟需要裝上一個方向轉換座 換上新的硬碟 意外的發現 m11x r2有另外一個miniPCI 可以裝3.5G模組或是解碼卡   鎖回蓋起來   開機檢查… 正常 再來是拆 MBP  背板很好拆 漂亮的內裝~...