Objective-C實(shí)訓(xùn)(五)

練習(xí)與示例:

1.字典相關(guān)練習(xí)

    //查看字典中鍵值對(duì)個(gè)數(shù)
    NSLog(@"%lu", dic.count);
    //字典的一種遍歷方式
    //查找字典中的所有key值并把它放到數(shù)組中
    NSArray *keyArray = dic.allKeys;
    //遍歷數(shù)組
    for (int i = 0; i < keyArray.count; i++) {
        NSString *key = keyArray[i];
        //通過key獲取value
        NSString *value = [dic objectForKey:key];
        NSLog(@"key:%@, value:%@", key, value);
    }

2.可變字典

    //創(chuàng)建一個(gè)空字典
    NSMutableDictionary *mutableDic = [NSMutableDictionary dictionary];
    //創(chuàng)建有鍵值對(duì)的字典
    NSMutableDictionary *mutableDic1 = [NSMutableDictionary dictionaryWithObjectsAndKeys:@"徐博杰",@"name",@"99",@"age", nil];
    NSMutableDictionary *mutableDic2 = [@{@"name" : @"閆磊", @"age" : @"100"} mutableCopy];
    //添加
    [mutableDic setObject:@"mc海杰" forKey:@"name"];
    NSLog(@"%@", mutableDic);
    //移除
    [mutableDic removeObjectForKey:@"name"];
    NSLog(@"%@", mutableDic);
    //清空字典
    [mutableDic1 removeAllObjects];

作業(yè):

  • 新建Contact類:
  • 在.h中聲明屬性與方法(包括初始化方法):
@property (nonatomic, retain) NSString *name;
@property (nonatomic, retain) NSString *gender;
@property (nonatomic, retain) NSString *phoneNumber;
@property (nonatomic, retain) NSString *group;

- (instancetype)initWithName:(NSString *)name gender:(NSString *)gender phoneNumber:(NSString *)phoneNumber;
- (void)show;
  • 導(dǎo)入一個(gè)自己寫的獲取拼音首字母的頭文件和Contact類的頭文件:
#import "Contact.h"
#import "NSString+EAPinYin.h"
  • 在.m中進(jìn)行方法的實(shí)現(xiàn):
- (instancetype)initWithName:(NSString *)name gender:(NSString *)gender phoneNumber:(NSString *)phoneNumber {
    self = [super init];
    if (self) {
        _name = name;
        _gender = gender;
        _phoneNumber = phoneNumber;
        _group = name.firstCharacterForPinYinString;
    }
    return self;
}

- (void)show {
    NSLog(@"name:%@,gender:%@,phoneNumber:%@,group:%@",_name,_gender,_phoneNumber,_group);
}
  • 在主函數(shù)中進(jìn)行實(shí)現(xiàn):
NSMutableDictionary *mutDic = [NSMutableDictionary dictionary];
        for (char c = 'A'; c <= 'Z'; c++) {
            NSString *key = [NSString stringWithFormat:@"%c",c];
            NSMutableArray *contactArr = [NSMutableArray array];
            [mutDic setObject:contactArr forKey:key];
        }
        Contact *contact = [[Contact alloc]initWithName:@"李四" gender:@"男" phoneNumber:@"123942321347"];
        //判斷姓名和電話是否為空
        if (contact.name != nil && contact.name.length != 0 && contact.phoneNumber != nil && contact.phoneNumber.length != 0) {
            NSMutableArray *contactArray = [mutDic objectForKey:contact.group];
            [contactArray addObject:contact];
        } else {
            NSLog(@"姓名電話不能為空");
        }

        NSArray *keyArray = mutDic.allKeys;
        for (int i = 0; i < keyArray.count; i++) {
            NSString *key = keyArray[i];
            NSMutableArray *contactArray = [mutDic objectForKey:key];
            for (int j = 0; j < contactArray.count; j++) {
                Contact *contact = contactArray[j];
                [contact show];
                
            }
        }
    }
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末示惊,一起剝皮案震驚了整個(gè)濱河市郁副,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖踩萎,帶你破解...
    沈念sama閱讀 212,599評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異敷硅,居然都是意外死亡虱饿,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,629評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門绷跑,熙熙樓的掌柜王于貴愁眉苦臉地迎上來拳恋,“玉大人,你說我怎么就攤上這事砸捏∶耍” “怎么了?”我有些...
    開封第一講書人閱讀 158,084評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵垦藏,是天一觀的道長梆暖。 經(jīng)常有香客問我,道長掂骏,這世上最難降的妖魔是什么轰驳? 我笑而不...
    開封第一講書人閱讀 56,708評(píng)論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮弟灼,結(jié)果婚禮上级解,老公的妹妹穿的比我還像新娘。我一直安慰自己田绑,他們只是感情好勤哗,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,813評(píng)論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著掩驱,像睡著了一般芒划。 火紅的嫁衣襯著肌膚如雪豁延。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 50,021評(píng)論 1 291
  • 那天腊状,我揣著相機(jī)與錄音,去河邊找鬼苔可。 笑死缴挖,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的焚辅。 我是一名探鬼主播映屋,決...
    沈念sama閱讀 39,120評(píng)論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼同蜻!你這毒婦竟也來了棚点?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,866評(píng)論 0 268
  • 序言:老撾萬榮一對(duì)情侶失蹤湾蔓,失蹤者是張志新(化名)和其女友劉穎瘫析,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體默责,經(jīng)...
    沈念sama閱讀 44,308評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡贬循,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,633評(píng)論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了桃序。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片杖虾。...
    茶點(diǎn)故事閱讀 38,768評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖媒熊,靈堂內(nèi)的尸體忽然破棺而出奇适,到底是詐尸還是另有隱情,我是刑警寧澤芦鳍,帶...
    沈念sama閱讀 34,461評(píng)論 4 333
  • 正文 年R本政府宣布嚷往,位于F島的核電站,受9級(jí)特大地震影響怜校,放射性物質(zhì)發(fā)生泄漏间影。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,094評(píng)論 3 317
  • 文/蒙蒙 一茄茁、第九天 我趴在偏房一處隱蔽的房頂上張望魂贬。 院中可真熱鬧,春花似錦裙顽、人聲如沸付燥。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,850評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽键科。三九已至闻丑,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間勋颖,已是汗流浹背嗦嗡。 一陣腳步聲響...
    開封第一講書人閱讀 32,082評(píng)論 1 267
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留饭玲,地道東北人侥祭。 一個(gè)月前我還...
    沈念sama閱讀 46,571評(píng)論 2 362
  • 正文 我出身青樓,卻偏偏與公主長得像茄厘,于是被迫代替她去往敵國和親矮冬。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,666評(píng)論 2 350

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