遍匈 / Objective-C /

OC岻忖灸NSDictionary

NSDictionary?肇渠Foundation崇尺議炎幣“NS”?鍬咎狛栖祥頁“忖灸”。宸頁才C囂冱嶄議販採方象窃侏脅音匯劔議Foundation崇尺戻工議匯倖窃。万匆頁贋刈方象議匯嶽窃侏。

万議聞喘圭隈才孖糞伏試嶄議忖灸窃貌。箭泌勣喘忖灸臥匯倖忖?遍枠氏宥狛宸倖忖議憧咄賜宀陶都肇臥宸倖忖壓忖灸議椎匯匈貧?隼朔祥辛參壓忖灸貧孀欺勣臥議忖阻。

OC嶄議忖灸匆頁宸担喘?万戦円議方象頁宥狛囚峙斤議侘塀隠贋議?酒汽議尖盾?囚祥頁聞喘議忖灸貧議憧咄賜宀陶都?遇峙祥頁勣孀議椎倖忖。囚才峙怏撹匯斤?率匯議囚峪嬬臥孀竃率匯議峙?遇耽匯倖峙辛嬬嗤謹倖囚?匯倖忖辛參喘憧咄臥欺?匆辛參喘陶都臥孀??麿断頁謹斤匯議購狼?宸祥頁囚峙斤議根吶。

廣吭?聞喘囚峙斤勣箔囚才峙脅駅倬頁斤嵆?匆祥頁傍C囂冱議児云方象窃侏頁音嬬輝囚才峙議(駅倬勣委麿断廬晒撹斤嵆嘉嬬喘?朔中氏初府醤悶議廬晒房揃才旗鷹)?匯違喘OC嶄議NSString忖憲堪輝恬囚。

尖盾阻囚峙斤議根吶岻朔?和中祥辛參塰喘囚峙斤栖幹秀徭失議忖灸阻。

幹秀NSDictionary斤嵆

+(instancetype)dictionaryWithObject:(ObjectType)object forKey:(KeyType <NSCopying>)key;//?忖灸嶄贋刈匯倖囚峙斤
+(instancetype)dictionaryWithObjects:(NSArray<ObjectType> *)objects forKeys:(NSArray<KeyType <NSCopying>> *)keys;//?忖灸嶄贋刈謹倖囚峙斤
+(instancetype)dictionaryWithObjectsAndKeys:(id)firstObject, ...
- (instancetype)initWithObjectsAndKeys:(id)firstObject, ...

貧中慌双訟阻膨倖兜兵晒忖灸斤嵆議圭隈。及匯倖圭隈峪嬬兜兵晒匯倖囚峙斤。朔中眉嶽圭隈嬬贋刈謹倖囚峙斤。
箭徨?
#import <Foundation/Foundation.h>
int main() {
 NSDictionary * dic1=[NSDictionary dictionaryWithObject:@"object1" forKey:@"key1"];
 NSLog(@"dic1 has :%@",dic1);
 
 NSDictionary * dic2=[NSDictionary dictionaryWithObjects:[NSArray arrayWithObjects:@"object1",@"object2",@"object3", nil] forKeys:[NSArray arrayWithObjects:@"key1",@"key2",@"key3", nil]];
 NSLog(@"dic2 has :%@",dic2);
 
 NSDictionary * dic3=[NSDictionary dictionaryWithObjectsAndKeys:@"object1",@"key1",@"object2",@"key2",@"object3",@"key3", nil];
 NSLog(@"dic3 has :%@",dic3);
 
 NSDictionary * dic4=[[NSDictionary alloc] initWithObjectsAndKeys:@"object1",@"key1",@"object2",@"key2",@"object3",@"key3", nil];
 NSLog(@"dic4 has :%@",dic4);
 return 0;
}
補竃潤惚?
dic1 has :{
key1 = object1;
}
dic2 has :{
key1 = object1;
key2 = object2;
key3 = object3;
}
dic3 has :{
key1 = object1;
key2 = object2;
key3 = object3;
}
dic4 has :{
key1 = object1;
key2 = object2;
key3 = object3;
}

忖灸議械喘圭隈

1、戻工阻count奉來才count圭隈?辛參喘栖資函忖灸斤嵆嶄囚峙斤議方楚(才NSArray嶄count議喘隈屢揖?音壅訟箭)。

2、曳熟曾倖忖灸頁倦屢吉?

- (BOOL)isEqualToDictionary:(NSDictionary<KeyType, ObjectType> *)otherDictionary;

箭徨?
#import <Foundation/Foundation.h>
int main() {
NSDictionary * dic2=[NSDictionary dictionaryWithObjects:[NSArray arrayWithObjects:@"object1",@"object2",@"object3", nil] forKeys:[NSArray arrayWithObjects:@"key1",@"key2",@"key3", nil]];
 
 NSDictionary * dic3=[NSDictionary dictionaryWithObjectsAndKeys:@"object1",@"key1",@"object2",@"key2",@"object3",@"key3", nil];
 
 int i=[dic2 isEqualToDictionary:dic3];
 NSLog(@"%d",i);
 return 0;
}
補竃潤惚?1

3、貫忖灸嶄功象囚孀竃斤哘議峙?
#import <Foundation/Foundation.h>
 
int main() {
 NSDictionary * dic2=[NSDictionary dictionaryWithObjects:[NSArray arrayWithObjects:@"object1",@"object2",@"object3", nil] forKeys:[NSArray arrayWithObjects:@"key1",@"key2",@"key3", nil]];
 NSString * str=[dic2 objectForKey:@"key1"];
 NSLog(@"%@",str);
 return 0;
}
補竃潤惚?object1

4、NSDictionary珊戻工阻allKeys才allValues曾倖奉來?辛參宥狛泣囂隈距喘宸曾倖奉來栖資函忖灸嶄議侭嗤囚才侭嗤峙。宸曾倖奉來卦指議脅頁匯倖方怏?侭參俶勣喘方怏肇資函。

箭徨?
#import <Foundation/Foundation.h>
int main() {
 NSDictionary * dic2=[NSDictionary dictionaryWithObjects:[NSArray arrayWithObjects:@"object1",@"object2",@"object3", nil] forKeys:[NSArray arrayWithObjects:@"key1",@"key2",@"key3", nil]];
 NSArray * keys=dic2.allKeys;
 NSArray * objects=dic2.allValues;
 
 NSLog(@"all keys are :%@",keys);
 NSLog(@"all values are :%@",objects);
 return 0;
}
補竃潤惚葎?
all keys are :(
key1,
key3,
key2
) all values are :(
object1,
object3,
object2
)

NSMutableDictionary議聞喘

NSDictionary匆嗤辛延議窃侏?NSMutableDictionary。喘辛延忖灸辛參昧吭耶紗、評茅賜宀俐個囚峙斤。

1、?辛延忖灸嶄耶紗囚峙斤

- (void)setObject:(ObjectType)anObject forKey:(KeyType <NSCopying>)aKey;
箭徨?
#import <Foundation/Foundation.h>
int main() {
 NSMutableDictionary * dic=[[NSMutableDictionary alloc] initWithObjectsAndKeys:@"object1",@"key1",@"object2",@"key2", nil];
 [dic setObject:@"object3" forKey:@"key3"];
 NSLog(@"%@",dic);
 return 0;
}
補竃潤惚?
{
key1 = object1;
key2 = object2;
key3 = object3;
}

2、評茅辛延忖灸嶄議囚峙斤
- (void)removeObjectForKey:(KeyType)aKey;
箭徨?
#import <Foundation/Foundation.h>
 
int main() {
 NSMutableDictionary * dic=[[NSMutableDictionary alloc] initWithObjectsAndKeys:@"object1",@"key1",@"object2",@"key2", nil];
 [dic removeObjectForKey:@"key1"];
 NSLog(@"%@",dic);
 return 0;
}
補竃潤惚?
{
key2 = object2;
}
茅阻貧円公寄社盾瞥議械喘圭隈?NSDictionary才NSMutableDictionary窃嶄紗嗟匯乂圭隈?寄社壓園亟旗鷹議狛殻嶄辛參序秘窃嶄徭失膳楼。

AltStyle によって変換されたページ (->オリジナル) /