Objective-C 經(jīng)典字典數(shù)組排序 - 省市區(qū)
1.首先要準備好包含所有省市區(qū)的文檔,將文檔拖到我們建好的Xcode里
2.然后新建一個路徑NSString *path = @" "; 再將省市區(qū)文檔拖到@" "中;
3.在進行排序前,我們首先要先濾清思路:這答題的難題是在于如何將字典裝入數(shù)組,再把數(shù)組裝入字典,所以關(guān)鍵點就在于如何通過嵌套將每個字典與數(shù)組歸到于它們相對應(yīng)的數(shù)組與字典里 提供一個小思路:數(shù)組->字典->數(shù)組->字典->數(shù)組
- 首先我們要建立一個包含所有省 市 區(qū)的省數(shù)組
- 然后再建立一個省字典 (包含省名和市數(shù)組)
- 再建立一個市字典 (同理包含市名和區(qū)數(shù)組)
- 建立好相應(yīng)的字典和數(shù)組后,我們只要將所有的市,區(qū)通過嵌套存入相對應(yīng)的數(shù)組即可
4.完成上面的準備工作后,我們就可以開始進行省市區(qū)的排序了
根據(jù)路徑產(chǎn)生相應(yīng)的字符 tring *str = [NSString stringWithContentsOfFile:path encoding:NSUTF8StringEncoding error:nil]; 對字符串進行切割成為數(shù)組 NSArray *array = [str componentsSeparatedByString:@"\n"]; 建立一個大數(shù)組 NSMutableArray *mutableArray = [NSMutableArray array]; for (NSString *str in array) { 判斷非空格字符,找出省 if (![str hasPrefix:@" "]) { 每找到一個省名字,就創(chuàng)建一個字典 NSMutableDictionary *proDic = [NSMutableDictionary dictionary]; 將省名存入字典,并設(shè)置Key為PROVIN [proDic setObject:str forKeyedSubscript:@"PROVIN"]; 創(chuàng)建一個數(shù)組,作為存下屬市用 NSMutableArray *cityArray = [NSMutableArray array]; 將市數(shù)組存入字典,設(shè)置key位CITYARRAY [proDic setObject:cityArray forKeyedSubscript:@"CITYARRAY"]; [mutableArray addObject:proDic]; } 找到市名字 if ([str hasPrefix:@" "]&& ![str hasPrefix:@" "]) { 取出數(shù)組最后一個元素,代表市所隸屬的省字典 NSDictionary *proDic = [mutableArray lastObject]; 將字典中預(yù)留的數(shù)組取出 NSMutableArray *cityArray = [proDic objectForKey:@"CITYARRAY"]; 每找到一個市,創(chuàng)建一個字典 NSMutableDictionary *cityDic = [NSMutableDictionary dictionary]; 將市名字存入字典 [cityDic setObject:str forKey:@"CITY"]; 給下屬區(qū)域創(chuàng)建個數(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"]; 找出存儲市的字典 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>
以上就是對Objective-C 經(jīng)典字典數(shù)組排序的示例代碼,謝謝大家對本站的支持!
- iOS中使用JSPatch框架使Objective-C與JavaScript代碼交互
- 簡介Objective-C解析XML與JSON數(shù)據(jù)格式的方法
- C/C++在Java、Android和Objective-C三大平臺下實現(xiàn)混合編程
- iOS App開發(fā)中Objective-C使用正則表達式進行匹配的方法
- Objective-C的緩存框架EGOCache在iOS App開發(fā)中的使用
- 舉例講解Objective-C中@property屬性的用法
- 淺析Objective-C中分類Category的使用
- Objective-C 代碼與Javascript 代碼相互調(diào)用實例
相關(guān)文章
iOS App開發(fā)中擴展RCLabel組件進行基于HTML的文本布局
RCLabel組件基于CoreText框架,可以將HTML標記的文本內(nèi)容轉(zhuǎn)為富文本視圖,這里我們就來解讀如何在iOS App開發(fā)中擴展RCLabel組件進行基于HTML的文本布局:2016-07-07iOS保存App中的照片到系統(tǒng)相冊或自建相冊的方法
這篇文章主要介紹了iOS保存App中的照片到系統(tǒng)相冊或自建相冊的方法,示例代碼為傳統(tǒng)的Objective-C語言寫成,需要的朋友可以參考下2016-04-04iOS開發(fā)中使用文字圖標iconfont的應(yīng)用示例
這篇文章主要介紹了iOS開發(fā)中使用文字圖標iconfont的應(yīng)用示例,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-10-10iOS10適配之權(quán)限Crash問題的完美解決方案
這篇文章主要為大家詳細介紹了iOS10適配之權(quán)限Crash問題的完美解決方案,具有一定的參考價值,感興趣的小伙伴們可以參考一下2016-09-09