在使用數據庫(FMDB)時,讀取數據庫字段名時發現讀出來的全部是小寫,而創建表時是按照駝峰命名(傳進去的是model),這樣會造成查詢不到數據
使用下面兩個方法可以實現兩種名字的互換
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 }
如有錯誤,還望不吝指教!
******
后面的內容與標題無關 推廣下個人開發的APP 覺得還不錯的 自己自己偷偷用就行了