Objective-C 經(jīng)典字典數(shù)組排序 - 省市區(qū)
1.首先要準(zhǔn)備好包含所有省市區(qū)的文檔,將文檔拖到我們建好的Xcode里
2.然后新建一個(gè)路徑NSString *path = @" "; 再將省市區(qū)文檔拖到@" "中;
3.在進(jìn)行排序前,我們首先要先濾清思路:這答題的難題是在于如何將字典裝入數(shù)組,再把數(shù)組裝入字典,所以關(guān)鍵點(diǎn)就在于如何通過(guò)嵌套將每個(gè)字典與數(shù)組歸到于它們相對(duì)應(yīng)的數(shù)組與字典里 提供一個(gè)小思路:數(shù)組->字典->數(shù)組->字典->數(shù)組
- 首先我們要建立一個(gè)包含所有省 市 區(qū)的省數(shù)組
- 然后再建立一個(gè)省字典 (包含省名和市數(shù)組)
- 再建立一個(gè)市字典 (同理包含市名和區(qū)數(shù)組)
- 建立好相應(yīng)的字典和數(shù)組后,我們只要將所有的市,區(qū)通過(guò)嵌套存入相對(duì)應(yīng)的數(shù)組即可
4.完成上面的準(zhǔn)備工作后,我們就可以開(kāi)始進(jìn)行省市區(qū)的排序了
根據(jù)路徑產(chǎn)生相應(yīng)的字符
tring *str = [NSString stringWithContentsOfFile:path encoding:NSUTF8StringEncoding error:nil];
對(duì)字符串進(jìn)行切割成為數(shù)組
NSArray *array = [str componentsSeparatedByString:@"\n"];
建立一個(gè)大數(shù)組
NSMutableArray *mutableArray = [NSMutableArray array];
for (NSString *str in array) {
判斷非空格字符,找出省
if (![str hasPrefix:@" "]) {
每找到一個(gè)省名字,就創(chuàng)建一個(gè)字典
NSMutableDictionary *proDic = [NSMutableDictionary dictionary];
將省名存入字典,并設(shè)置Key為PROVIN
[proDic setObject:str forKeyedSubscript:@"PROVIN"];
創(chuàng)建一個(gè)數(shù)組,作為存下屬市用
NSMutableArray *cityArray = [NSMutableArray array];
將市數(shù)組存入字典,設(shè)置key位CITYARRAY
[proDic setObject:cityArray forKeyedSubscript:@"CITYARRAY"];
[mutableArray addObject:proDic];
}
找到市名字
if ([str hasPrefix:@" "]&& ![str hasPrefix:@" "]) {
取出數(shù)組最后一個(gè)元素,代表市所隸屬的省字典
NSDictionary *proDic = [mutableArray lastObject];
將字典中預(yù)留的數(shù)組取出
NSMutableArray *cityArray = [proDic objectForKey:@"CITYARRAY"];
每找到一個(gè)市,創(chuàng)建一個(gè)字典
NSMutableDictionary *cityDic = [NSMutableDictionary dictionary];
將市名字存入字典
[cityDic setObject:str forKey:@"CITY"];
給下屬區(qū)域創(chuàng)建個(gè)數(shù)組作為預(yù)留
NSMutableArray *areaArray = [NSMutableArray array];
存入字典
[cityDic setObject:areaArray forKey:@"AREAARRAY"];
將市字典存入數(shù)組中
[cityArray addObject:cityDic];
}
找出下屬區(qū)
if ([str hasPrefix:@" "]) {
找出隸屬的省字典
NSDictionary *proDic = [mutableArray lastObject];
找出市數(shù)組
NSMutableArray *cityArray = [proDic objectForKey:@"CITYARRAY"];
找出存儲(chǔ)市的字典
NSDictionary *cityDic = [cityArray lastObject];
找出字典中區(qū)數(shù)區(qū)
NSMutableArray *areaArray = [cityDic objectForKey:@"AREAARRAY"];
將區(qū)域名字存入數(shù)組
[areaArray addObject:str];
}
}
for (NSDictionary *dic in mutableArray) {
NSLog(@"%@",[dic objectForKey:@"PROVIN"]);
for (NSDictionary *cityDic in [dic objectForKey:@"CITYARRAY"]) {
NSLog(@"%@",[cityDic objectForKey:@"CITY"]);
for (NSString *string in [cityDic objectForKey:@"AREAARRAY"]) {
NSLog(@"%@",string);
}
}
}</span></span>
以上就是對(duì)Objective-C 經(jīng)典字典數(shù)組排序的示例代碼,謝謝大家對(duì)本站的支持!
- iOS中使用JSPatch框架使Objective-C與JavaScript代碼交互
- 簡(jiǎn)介Objective-C解析XML與JSON數(shù)據(jù)格式的方法
- C/C++在Java、Android和Objective-C三大平臺(tái)下實(shí)現(xiàn)混合編程
- iOS App開(kāi)發(fā)中Objective-C使用正則表達(dá)式進(jìn)行匹配的方法
- Objective-C的緩存框架EGOCache在iOS App開(kāi)發(fā)中的使用
- 舉例講解Objective-C中@property屬性的用法
- 淺析Objective-C中分類Category的使用
- Objective-C 代碼與Javascript 代碼相互調(diào)用實(shí)例
相關(guān)文章
iOS應(yīng)用設(shè)計(jì)模式開(kāi)發(fā)中職責(zé)鏈(責(zé)任鏈)模式的實(shí)現(xiàn)解析
這篇文章主要介紹了iOS應(yīng)用設(shè)計(jì)模式開(kāi)發(fā)中職責(zé)鏈模式的相關(guān)實(shí)現(xiàn)解析,示例代碼為傳統(tǒng)的Objective-C,需要的朋友可以參考下2016-03-03
UILabel顯示定時(shí)器文本跳動(dòng)問(wèn)題的解決方法
這篇文章主要給大家介紹了關(guān)于UILabel顯示定時(shí)器文本跳動(dòng)問(wèn)題的解決方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)各位iOS開(kāi)發(fā)者們具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-07-07
iOS App開(kāi)發(fā)中的UIStackView堆疊視圖使用教程
UIStackView是iOS9以來(lái)新增加的組件,使我們能夠?qū)IView子類對(duì)象進(jìn)行靈活排版,這里我們就來(lái)看一下iOS App開(kāi)發(fā)中的UIStackView堆疊視圖使用教程2016-07-07
3分鐘實(shí)現(xiàn)iOS語(yǔ)言本地化/國(guó)際化(圖文教程)
這篇文章主要介紹了3分鐘實(shí)現(xiàn)iOS語(yǔ)言本地化/國(guó)際化,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-02-02
iOS App設(shè)計(jì)模式開(kāi)發(fā)之適配器模式使用的實(shí)戰(zhàn)演練
這篇文章主要介紹了iOS App設(shè)計(jì)模式開(kāi)發(fā)之適配器模式的使用實(shí)例,示例代碼為傳統(tǒng)的Objective-C語(yǔ)言,需要的朋友可以參考下2016-03-03
iOS中PNChart與UITableView的聯(lián)動(dòng)示例詳解
PNChart是個(gè)界面很漂亮的圖表第三方庫(kù),UITableView則不用過(guò)多介紹了,各位iOS開(kāi)發(fā)者們都知道,下面這篇文章主要給大家介紹了關(guān)于iOS中PNChart與UITableView的聯(lián)動(dòng)的相關(guān)資料,需要的朋友可以參考下2018-07-07

