在使用數據庫(FMDB)時,讀取數據庫字段名時發現讀出來的所有是小寫,而建立表時是按照駝峯命名(傳進去的是model),這樣會形成查詢不到數據數據庫
使用下面兩個方法能夠實現兩種名字的互換app
1 //駝峯名字轉下劃線名字 2 -(NSString *)translateToInsertName:(NSString *)name 3 { 4 NSMutableString *insertName = [name mutableCopy]; 5 6 for(int i = 0; i < name.length; i++) 7 { 8 char c = [insertName characterAtIndex:i]; 9 if(c>64 && c<91) 10 { 11 NSRange range = NSMakeRange(i, 1); 12 [insertName replaceCharactersInRange:range withString:[NSString stringWithFormat:@"_%@", [[NSString stringWithFormat:@"%c",c] lowercaseString]]]; 13 } 14 } 15 return insertName; 16 } 17 18 //下劃線名字轉駝峯名字 19 -(NSString *)translateToOutPutName:(NSString *)name 20 { 21 NSMutableString *outputName = [NSMutableString stringWithString:name]; 22 while ([outputName containsString:@"_"]) { 23 NSRange range = [outputName rangeOfString:@"_"]; 24 if (range.location + 1 < [outputName length]) { 25 char c = [outputName characterAtIndex:range.location+1]; 26 [outputName replaceCharactersInRange:NSMakeRange(range.location, range.length+1) withString:[[NSString stringWithFormat:@"%c",c] uppercaseString]]; 27 } 28 } 29 return outputName; 30 }
若有錯誤,還望不吝指教!spa
******code
後面的內容與標題無關 推廣下我的開發的APP 以爲還不錯的 本身本身偷偷用就好了orm
密碼口袋blog