第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會有你想問的

將NSArray過濾到Objective-C中的新NSArray中

將NSArray過濾到Objective-C中的新NSArray中

Cats萌萌 2019-11-28 10:30:20
我有一個(gè)NSArray,我想NSArray用滿足特定條件的原始數(shù)組中的對象創(chuàng)建一個(gè)新對象。條件由返回的函數(shù)決定BOOL。我可以創(chuàng)建一個(gè)NSMutableArray,遍歷源數(shù)組,并復(fù)制過濾器函數(shù)接受的對象,然后創(chuàng)建它的不可變版本。有沒有更好的辦法?
查看完整描述

3 回答

?
嗶嗶one

TA貢獻(xiàn)1854條經(jīng)驗(yàn) 獲得超8個(gè)贊

有很多方法可以做到這一點(diǎn),但到目前為止,最肯定的方法是使用[NSPredicate predicateWithBlock:]:


NSArray *filteredArray = [array filteredArrayUsingPredicate:[NSPredicate predicateWithBlock:^BOOL(id object, NSDictionary *bindings) {

    return [object shouldIKeepYou];  // Return YES for each object you want in filteredArray.

}]];

我認(rèn)為這簡明扼要。


迅速:

對于那些工作NSArrayS IN斯威夫特,你可能更喜歡這種更簡潔的版本:


nsArray = nsArray.filter { $0.shouldIKeepYou() }

filter僅僅是Array(NSArray隱式橋接到Swift的Array)的方法。它帶有一個(gè)參數(shù):一個(gè)閉包,它在數(shù)組中使用一個(gè)對象并返回Bool。在關(guān)閉時(shí),只需返回true過濾數(shù)組中所需的任何對象即可。


查看完整回答
反對 回復(fù) 2019-11-28
  • 3 回答
  • 0 關(guān)注
  • 742 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號