在ios開發當中,選擇城市是很常用的,一般都是根據城市的拼音首字母進行分組,然後用分組的uitableview展現出來,實現的效果如下
我是使用了兩個plist檔案儲存城市的,乙個是儲存所有的城市,另外乙個是儲存熱門城市
儲存所有的城市的city.plist,只是訪問城市的中文名稱而已,之後用乙個第三方的開源庫chinesetopinyin來把中文轉換成拼音,然後根據拼音的首字母就可以分組了
儲存熱門城市的hotcity.plist,也只是儲存中文名稱,之後把這一組直接歸為熱門這一組就可以了
下面講解一下具體操作
第一步就是直接讀取了,這一步不用多說了
1 hotcityarray=[[nsmutablearray alloc] initwithcontentsoffile:[[nsbundle mainbundle] pathforresource:@"第二步就是建立個nsmutabledictionary,key就是字母,value就是城市拼音首字母是key的所有城市hotcity
" oftype:@"
plist
"]];
23 cityarray=[[nsmutablearray alloc] initwithcontentsoffile:[[nsbundle mainbundle] pathforresource:@"
city
" oftype:@"
plist
"]];
citydic=[[nsmutabledictionary alloc]init];第三步就是把熱門城市加進去nsstring * pinyin=nil;
nsmutablearray *arr=nil;
for (nsstring * city in
cityarray)
else
}
sortarray=[[nsmutablearray alloc]initwithobjects:@"熱門"這樣資料處理就基本完成了, nil];
sortarray=[sortarray arraybyaddingobjectsfromarray:[[citydic allkeys] sortedarrayusingselector:@selector(compare:)]];
[citydic setobject:hotcityarray forkey:
@"熱門
"];
下一步就是介面展現了
#pragma mark table view data source methods//選中
- (void)tableview:(uitableview *)tableview didselectrowatindexpath:(nsindexpath *)indexpath
- (nsinteger)numberofsectionsintableview:(uitableview *)tableview
- (nsinteger)tableview:(uitableview *)tableview numberofrowsinsection:(nsinteger)section
- (uitableviewcell *)tableview:(uitableview *)tableview cellforrowatindexpath:(nsindexpath *)indexpath
nsmutablearray *array=[tableviewdic objectforkey:[sortarray objectatindex:section]];
//給label附上城市名稱 key 為:c_name
cell.textlabel.text =[array objectatindex:row];
cell.textlabel.font = [uifont fontwithname:@"
trebuchetms-bold
" size:15
];
return
cell;
}- (nsstring *)tableview:(uitableview *)tableview titleforheaderinsection:(nsinteger)section
- (cgfloat)tableview:(uitableview *)tableview heightforrowatindexpath:(nsindexpath *)indexpath
- (nsarray *)sectionindextitlesfortableview:(uitableview *)tableview
ios選擇城市
在ios開發當中,選擇城市是很常用的,一般都是根據城市的拼音首字母進行分組,然後用分組的uitableview展現出來,實現的效果如下 我是使用了兩個plist檔案儲存城市的,乙個是儲存所有的城市,另外乙個是儲存熱門城市 儲存所有的城市的city.plist,只是訪問城市的中文名稱而已,之後用乙個第...
bootstrap sql 城市選擇
送你一場完美體驗的sql實戰練習。讓小白入坑資料分析,但不提供學習環境,說明態度不端正,傳授體驗也不好 所以,我提供這些,先給自己點讚乙個。實戰步驟,說白話一點,分4步完成實戰練習。環境是免費的,就是自己阿里雲部署的乙個開源bi工具superset學習 但你需要申請許可權。申請方式 進入sql la...
IOS 定位城市和切換城市
1.ios中自帶的地圖為高德地圖 1 新增框架corelocation.framework框架。2 新增標頭檔案 import 3 新增 cllocationmanagerdelegate 4 在info.plist裡新增 privacy location always usage descript...