版本記錄
版本號(hào) | 時(shí)間 |
---|---|
V1.0 | 2017.08.26 |
前言
NSArray
是集合類型中的一種,是OC中很重要的概念择懂,這個(gè)是我們一定會(huì)用到的對(duì)象约啊,下面我就繼續(xù)由整體到細(xì)節(jié)邑遏,由簡(jiǎn)單到復(fù)雜的和大家說(shuō)一下它的用法。感興趣的可以看我寫的上篇幾篇恰矩。
1. NSArray簡(jiǎn)單細(xì)說(shuō)(一)—— 整體了解
2. NSArray簡(jiǎn)單細(xì)說(shuō)(二)—— 數(shù)組的創(chuàng)建
3. NSArray簡(jiǎn)單細(xì)說(shuō)(三)—— 數(shù)組初始化
4. NSArray簡(jiǎn)單細(xì)說(shuō)(四)—— 數(shù)組的查詢與檢索
5. NSArray簡(jiǎn)單細(xì)說(shuō)(五)—— 數(shù)組中對(duì)象的查找
6. NSArray簡(jiǎn)單細(xì)說(shuō)(六)—— 向數(shù)組中元素發(fā)送消息
7. NSArray簡(jiǎn)單細(xì)說(shuō)(七)—— 數(shù)組的比較和獲得新數(shù)組
8. NSArray簡(jiǎn)單細(xì)說(shuō)(八)—— 數(shù)組的排序
9. NSArray簡(jiǎn)單細(xì)說(shuō)(九)—— 數(shù)組成員操作记盒、創(chuàng)建描述與數(shù)組的存儲(chǔ)
10. NSArray簡(jiǎn)單細(xì)說(shuō)(十)—— 路徑收集和KVO
一、- (void)setValue:(id)value forKey:(NSString *)key;
該方法的作用是:調(diào)用setValue:forKey:
在每個(gè)數(shù)組的項(xiàng)目上使用指定的值和鍵外傅。
結(jié)論:KVC還是很重要的孽鸡。
二、- (id)valueForKey:(NSString *)key;
該方法的作用:返回一個(gè)包含調(diào)用valueForKey
的結(jié)果的數(shù)組:在每個(gè)數(shù)組的對(duì)象上使用鍵栏豺。如果每一個(gè)元素調(diào)用后返回nil
,則返回的數(shù)組是NSNull
豆胸。
下面看代碼
- (void)demoValueForKey
{
NSArray *array = @[@"hello", @"how", @"are", @"You"];
NSArray *resultArr = [array valueForKey:@"uppercaseString"];
NSLog(@"%@", resultArr);
}
看輸出結(jié)果
2017-08-26 14:44:46.647 JJOC[8126:204946] (
HELLO,
HOW,
ARE,
YOU
)
結(jié)論:KVO極其重要奥洼,一定要多理解。
三晚胡、- (NSArray<ObjectType> *)shuffledArray;
該方法的作用就是:返回一個(gè)以隨機(jī)順序列出該數(shù)組元素的新數(shù)組灵奖。
還要注意:
- 調(diào)用此方法相當(dāng)于調(diào)用
shuffledArrayWithRandomSource:
方法并傳遞系統(tǒng)sharedRandom
隨機(jī)源。 為了影響隨機(jī)重新排列或者能夠確定性地再現(xiàn)一系列重新排列估盘,請(qǐng)創(chuàng)建您自己的GKRandomSource
對(duì)象瓷患。 - 該方法并沒(méi)有在
Foundation
框架里面,而是在框架#import <GameplayKit/GameplayKit.h>
里面遣妥,下面看一下接口擅编。
/*
* Returns a shuffled instance of this array using the systems underlying random source, as with [GKRandomSource sharedRandom]
*/
- (NSArray<ObjectType>*)shuffledArray;
結(jié)論:一般用不到。
四箫踩、- (NSArray<ObjectType> *)shuffledArrayWithRandomSource:(GKRandomSource *)randomSource;
該方法的作用就是:返回使用指定的隨機(jī)源以隨機(jī)順序列出此數(shù)組的元素的新數(shù)組爱态。
還要注意:
- 使用
randomSource
參數(shù)來(lái)影響隨機(jī)混洗。 例如境钟,要重現(xiàn)一系列用于測(cè)試的隨機(jī)狀況锦担,您可以使用先前使用的隨機(jī)源的種子值創(chuàng)建一個(gè)GKARC4RandomSource
對(duì)象。 - 這個(gè)方法相當(dāng)于
GKRandomSource
方法arrayByShufflingObjectsInArray :
慨削,但是作為一個(gè)NSArray
方法洞渔,它保留了泛型類型參數(shù)。
下面看代碼
- (void)demoShuffledArray
{
NSArray *arr = @[@"hello", @"how", @"are", @"you"];
NSArray *resultArr = [arr shuffledArrayWithRandomSource:[GKRandomSource sharedRandom]];
NSLog(@"resultArr = %@", resultArr);
}
看輸出結(jié)果
2017-08-26 15:14:05.480 JJOC[9493:232120] resultArr = (
you,
how,
are,
hello
)
結(jié)論:這個(gè)方法在框架#import <GameplayKit/GameplayKit.h>
中缚态,不做游戲的很少用到磁椒。
后記
未完,待續(xù)~~~