UIPickerView使用

最近点楼,上課講解了日期選擇器和普通數(shù)據(jù)選擇器的使用,上課講解的案例是假期學(xué)生去向登記悴品,該項目有一定的實際意義禀综,可以在后期的教學(xué)中不斷的有話,并和數(shù)據(jù)庫老師去協(xié)調(diào)一些苔严,能不能數(shù)據(jù)庫中解決一下數(shù)據(jù)的問題定枷,當(dāng)然這部分知識現(xiàn)在暫時還不需要。

目前届氢,我的課堂教學(xué)上已經(jīng)完成了離校日期欠窒、返校日期、地域選擇等內(nèi)容的輸入設(shè)計悼沈,前面兩個難度不大贱迟,地域選擇的處理上姐扮,對于初學(xué)者有如下問題要解決:

1絮供、解析plist文件;

2茶敏、加載數(shù)據(jù)到數(shù)據(jù)選擇控件壤靶,使用PickerView控件的屬性和方法:(1)使用何種協(xié)議;(2)數(shù)據(jù)源屬性和代理屬性惊搏;(3)設(shè)置組件的個數(shù)(4)返回某列數(shù)據(jù)的行數(shù)(5)設(shè)置每行的文本顯示(6)數(shù)據(jù)聯(lián)動

3.在實現(xiàn)(4)贮乳、(5)的功能時提煉一個loadData方法

程序的源碼如下:


//

//ViewController.m

//testPicker

//

//Created by dxx on 2016/10/8.

//Copyright ? 2016年tyh. All rights reserved.

//

#import"ViewController.h"

@interfaceViewController()

//解析plist文件并將結(jié)果存儲到字典中忧换?為什么用字典

@property(nonatomic,strong)NSDictionary* cityNames;

//省

@property(nonatomic,strong)NSArray* provinces;

//市

@property(nonatomic,strong)NSArray* cities;

@end

@implementationViewController

//獲取數(shù)據(jù),解析plist文件

-(NSDictionary*)cityNames{

if(_cityNames==nil) {

NSString* path=[[NSBundlemainBundle]pathForResource:@"cityData"ofType:@"plist"];

_cityNames=[NSDictionarydictionaryWithContentsOfFile:path];

}

return_cityNames;

}

-(NSArray*)provinces{

if(_provinces==nil) {

_provinces=[self.cityNamesallKeys];

}

return_provinces;

}

//加載數(shù)據(jù)到組件

//1.設(shè)置組件的個數(shù)

- (NSInteger)numberOfComponentsInPickerView:(UIPickerView*)pickerView{

return2;

}

//2.返回某列數(shù)據(jù)的行數(shù)

-(NSInteger)pickerView:(UIPickerView*)pickerView numberOfRowsInComponent:(NSInteger)component{

if(component==0) {

return self.provinces.count;

}else{

[selfloadData:pickerView];

return self.cities.count;

}

}

//3.設(shè)置每行的文本顯示

-(NSString*)pickerView:(UIPickerView*)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component{

if(component==0) {

return self.provinces[row];

}

else{

[self ?loadData:pickerView];

return ?self.cities[row];

}

}

//4.以上問題的解決都涉及到加載數(shù)據(jù)問題,寫loadData方法

-(void)loadData:(UIPickerView*)pickerView{

NSIntegerselRow=[pickerViewselectedRowInComponent:0];

NSString*key=self.provinces[selRow];

self.cities=[self.cityNamesvalueForKey:key];

}

//5.數(shù)據(jù)聯(lián)動

-(void)pickerView:(UIPickerView*)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component{

if(component==0) {

[pickerViewreloadComponent:1];

[pickerViewselectRow:0inComponent:1animated:YES];

}

}

- (void)viewDidLoad {

[superviewDidLoad];

// Do any additional setup after loading the view, typically from a nib.

}

- (void)didReceiveMemoryWarning {

[superdidReceiveMemoryWarning];

// Dispose of any resources that can be recreated.

}

@end


plist文件結(jié)構(gòu)如下:

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末向拆,一起剝皮案震驚了整個濱河市亚茬,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌浓恳,老刑警劉巖刹缝,帶你破解...
    沈念sama閱讀 216,402評論 6 499
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異颈将,居然都是意外死亡梢夯,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,377評論 3 392
  • 文/潘曉璐 我一進(jìn)店門晴圾,熙熙樓的掌柜王于貴愁眉苦臉地迎上來颂砸,“玉大人,你說我怎么就攤上這事死姚∪伺遥” “怎么了?”我有些...
    開封第一講書人閱讀 162,483評論 0 353
  • 文/不壞的土叔 我叫張陵知允,是天一觀的道長撒蟀。 經(jīng)常有香客問我,道長温鸽,這世上最難降的妖魔是什么保屯? 我笑而不...
    開封第一講書人閱讀 58,165評論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮涤垫,結(jié)果婚禮上姑尺,老公的妹妹穿的比我還像新娘。我一直安慰自己蝠猬,他們只是感情好切蟋,可當(dāng)我...
    茶點故事閱讀 67,176評論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著榆芦,像睡著了一般柄粹。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上匆绣,一...
    開封第一講書人閱讀 51,146評論 1 297
  • 那天驻右,我揣著相機與錄音,去河邊找鬼崎淳。 笑死堪夭,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播森爽,決...
    沈念sama閱讀 40,032評論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼恨豁,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了爬迟?” 一聲冷哼從身側(cè)響起橘蜜,我...
    開封第一講書人閱讀 38,896評論 0 274
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎付呕,沒想到半個月后扮匠,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,311評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡凡涩,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,536評論 2 332
  • 正文 我和宋清朗相戀三年棒搜,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片活箕。...
    茶點故事閱讀 39,696評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡力麸,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出育韩,到底是詐尸還是另有隱情克蚂,我是刑警寧澤,帶...
    沈念sama閱讀 35,413評論 5 343
  • 正文 年R本政府宣布筋讨,位于F島的核電站埃叭,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏悉罕。R本人自食惡果不足惜赤屋,卻給世界環(huán)境...
    茶點故事閱讀 41,008評論 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望壁袄。 院中可真熱鬧类早,春花似錦、人聲如沸嗜逻。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽栈顷。三九已至逆日,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間萄凤,已是汗流浹背室抽。 一陣腳步聲響...
    開封第一講書人閱讀 32,815評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留蛙卤,地道東北人狠半。 一個月前我還...
    沈念sama閱讀 47,698評論 2 368
  • 正文 我出身青樓,卻偏偏與公主長得像颤难,于是被迫代替她去往敵國和親神年。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,592評論 2 353

推薦閱讀更多精彩內(nèi)容