OC數(shù)字?jǐn)?shù)組中優(yōu)雅的取出最大值

1. 項(xiàng)目需求

? 有一個(gè)模型數(shù)組arr, 其中模型model中有個(gè)字段num, 我需要找出所有模型中最大的一個(gè)

2. 解決方案分析

? 我們第一印象肯定是遍歷數(shù)組, 取出模型, 然后在取出num字段, 然后進(jìn)行比較, 取出最大值. 但是本文, 就要另辟蹊徑, 用一個(gè)更優(yōu)雅的方法兩行代買搞定

3. 代碼

// 通過(guò)kvc方式取出num
NSArray *temArr = [arr valueForKeyPath:@"num"];
// 這步是重點(diǎn),直接取出最大值
CGFloat maxNum = [[temArr valueForKeyPath:@"@max.integerValue"] integerValue];
  

4. 注意事項(xiàng)

? 如果你的模型中的num不是對(duì)象, 那么第一行代碼就會(huì)直接崩掉, 因?yàn)榛A(chǔ)類型的數(shù)是不能放到oc數(shù)組中的 , 所以, 建立模型的時(shí)候一定要用NSNmuber類型的num字段, 這樣才能放入temArr數(shù)組, 當(dāng)然如果你直接擁有一個(gè)裝有NSNmuber類型的數(shù)組, 直接執(zhí)行第二步, 就可以獲得組大值.

5. 擴(kuò)展

? 仿照上面的用法還可以獲得數(shù)組中的最小值, 平均值等的 key值如下,

@”@max.floatValue”//(獲取最大值), 
@”@min.floatValue”//(獲取最小值), 
@”@avg.floatValue” //(獲取平均值), 
@”@count.floatValue”//(獲取數(shù)組大小) 

好了這次就總結(jié)到這里, 希望看到此頁(yè)的你擼碼愉快!!!!!!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語(yǔ)法,類相關(guān)的語(yǔ)法,內(nèi)部類的語(yǔ)法,繼承相關(guān)的語(yǔ)法,異常的語(yǔ)法,線程的語(yǔ)...
    子非魚_t_閱讀 34,824評(píng)論 18 399
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,692評(píng)論 19 139
  • 點(diǎn)擊查看原文 Web SDK 開發(fā)手冊(cè) SDK 概述 網(wǎng)易云信 SDK 為 Web 應(yīng)用提供一個(gè)完善的 IM 系統(tǒng)...
    layjoy閱讀 14,375評(píng)論 0 15
  • 我們身邊總是會(huì)有一些對(duì)生活很認(rèn)真的人,她們渾身充滿著正能量,渾身充滿著善良,不經(jīng)意間讓人感覺到小小的溫暖,跟著星座...
    星洞看物閱讀 468評(píng)論 0 0
  • 這是文章內(nèi)容。
    blog123閱讀 146評(píng)論 0 0

友情鏈接更多精彩內(nèi)容