Groups the objects in a list, using key-value pairs in groups
The Nsdictionary nsmutabledictionary class creates a list of objects with keys.
If you need to add or remove objects to the dictionary, use Nsmutabledictionary
1 Creation of the dictionary Alloc constructor or Dictionarywithobjects:forkeys
Dictionaries created with nsdictionary cannot be changed once created, and dictionaries created with nsmutabledictionary can be changed.
Nsarray *listofobjects=[nsarray arraywithobjects:@ "Hello World" @ "Bonjour tout le monde" @ "Hola Mundo", nil];
Nsarray *listofkeys=[nsarray arraywithobjects:@ "中文版", @ "French", @ "Spanish", nil];
Nsdictionary *dictionary2=[nsdictionary dictionarywithobjects:listofobjects Forkeys:listofkeys];
Constructor key value
#import <Foundation/Foundation.h>
int main (int argc,const char *argv[]) {
@autoreleasepoo; {
Nsdictionart *dictionary1=[[nsdictionary Alloc]init];
Nsarray *listofobjects=[nsarray arraywithobjects:@ "Hello World" @ "Bonjour tout le monde" @ "Hola Mundo", Nil];
Nsarray *listofkeys=[nsarray araywithobjects:@ "中文版", @ "French", @ "Spanish", nil];
Nsdictionary *dictionary2=[nsdictionary Dictionarywithobjects:listofobject Forkeys:listofkeys];
NSLog (@ "dictionary2=%@", Dictionary2);
}
return 0;
}
Print out the following message
The%@ corresponds to the following values:
English= "Hello World";
French = "Bonjour tout le monde";
Spanish= "Hola Mundo";
Issue: You want to obtain references to objects in the dictionary to access their properties or to send messages to the object.
Use the Objectforkey: method to obtain the corresponding reference for the key you provided:
NSString *helloworld=[dictionary objectforkey:@ "中文版"];
/**
*example
*/
#import <Foundation/Foundation.h>
int main (int argc,const *argv[]) {
autoreleasepool{
Nsarray *listofobjects=[nsarray arraywithobjects:@ "Hello World" @ "Bonjour tout le monde" @ "Hola Moundo", nil];
Nsarray *listofkeys=[nsarray arraywithobjects:@ "中文版", @ "French", @ "Spanish", nil];
Nsdictionary *dictionary=[nsdictionary dictionarywithobjects:listofobjects Forkeys:listofkeys];
NSString *helloworld=[dictionary objectforkey:@ "中文版"];
NSLog (@ "%@", HelloWorld);
}
return 0;
}
/**
* Gets the number of elements in the dictionary the Count property in the Nsdictionary class can be
*/
#import <Foundation/Foundation.h>
int main (int argc,const char *argv[]) {
@autoreleasepool {
Nsarray *listofobjects=[nsarray arraywithobjects:@ "Hello World" @ "Bonjour tout le monde" @ "Hola Mundo", nil];
Nsdictionary *listofkeys=[nsarray arraywithobjects:@ "中文版", @ "French", @ "Spanish", nil];
Nsdictionary *dictionary=[nsdictionary dictionarywithobjects::listofobjects Forkeys:listofkeys];
Nsuinteger Count=dictionary.count;
NSLog (@ "The dictionary contains%lu items", count);
}
return 0;
}
/**
* Traverse the dictionary to send the same message to each object in the dictionary or access the same properties
*allvalues converting a dictionary to an array
* * Use For-each to iterate through an array
* * Use Enumeratekeysandobjectsusingblock: Process each object in the dictionary
*/
For (NSString *s in [dictionary allvalues]) {
NSLog (@ "value:%@", s);
}
Allvalues will return the key value as an array
/**
* You can also use blocks via Emumeratekeysandobjectsusingblock
*/
[Dictionary emueratekeysandobjectsusingblock:^ (ID key,id obj,bool *stop) {
NSLog (@ "key=%@", key,obj);
}];
/**
* Traverse
*/
#import <Foundation/Foudation.h>
int main (int argc,const char *argv[]) {
@autoreleasepool {
Nsarray *listofobjects=[nsarray arraywithobjects:@ "Hello World" @ "Bonjour tout le monde" @ "Hola Mundo", nil];
Nsarray *listofkeys=[nsarray arraywithobjects:@ "中文版", @ "French", @ "Spanish", nil];
Nsdictionary *dictionary=[nsdictionary dictionarywithobjects:listofobjects forkeys:listofkeys[;
For (NSString *s in [dictionary AllKeys]) {
NSLog (@ "key:%@", s);
}
[Dictionary enumeratekeysandobjectsusingblock:^ (ID key,id obj,bool *stop) {
NSLog (@ "key =%@ and obj =%@", key,obj);
}];
}
return 0;
}
/*
* Manipulate dictionaries to add, delete, and insert objects in the dictionary. Way to use Nsmutabledictionary
*/
Object is created:
Nsmutabledictionary *dictionary = [[Nsmutabledictionary alloc]init];
To add a key-value pair
[Dictionary setobject:@ "Hello World" forkey:@ "中文版"];
[Dictionary setobject:@ "Bonjour tout le mode" forkey:@ "French"];
[Dictionary setobject:@ "Hola Mundo forkey:@" Spanish "];
[Dictionary [email protected] "French"];
/**
*example
*/
#import <Foundation/Foundation.h>
int main (int argc,const char *argv[]) {
@autoreleasepool {
Nsmutabledictionary *dictionary = [[Nsmutabledictionary alloc]init];
[Dictionary setobject:@ "Hello World" forkey:@ "中文版"];
[Dictionary setobject:@ "Bonjour tout le monde" forkey:@ "French"];
[Dictionary setobject:@ "Hola Mundo" forkey:@ "Spanish"];
NSLog (@ "OBJECT ADDED to dictionary:%@", DICTIONARY);
[Dictionary removeobjectforkey:@ "French"];
NSLog (@ "objected removed from dictionary%@", DICTIONARY);
[Dictionary removeallobjects];
NSLog (@ "All OBJECTS removed from dictionary:%@", DICTIONARY);
}
return 0;
}
After the first addition, the result is:
OBJECT ADDED to dictionary:{
English= "Hello World";
French= "Bonjour tout le monde";
Spanish= "Hola Mundo";
}
Remove an element for the first time
OBJECT removed from dictionary:{
中文版 = "Hello World";
Spanish= "Hola Mundo";
}
Finally, all the elements have been removed.
All OBJECTS removed from dictionary:{
}
Saves the objects in the dictionary to the file system for later or other programs to use.
There are writetofile in nsdictionary to write the dictionary to the file.
Nsarray *listofobjects=[nsarray arraywithobjects:@ "Hello World" @ "Bonjour tout le monde" @ "Hola Mundo", nil];
Nsarray *listofkeys=[nsarray arraywithobjects:@ "中文版", @ "French", @ "Spanish", nil];
Nsdictionary *dictionary=[nsdictionary dictionarywithobjects:listofobjects Forkeys:listofkeys];
NSString [email protected] "/users/shared/dictionary.txt";
[Dictionary writetofile:filepathname Atomically:yes];
/**
*example
*/
#import <Foundation/Foundation.h>
int main (int argc,const char *argv[]) {
@autoreleasepool {
Nsarray *listofobject=[nsarray arraywithobjects:@ "Hello World" @ "Bonjour tout le monde" @ "Hola Mundo", nil];
Nsarray *listofkeys = [Nsarray arraywithobjects:@ "中文版", @ "French", @ "Spanish", nil];
Nsdictionary *dictionary=[nsdictionary dictionarywithobjects:listofobjects Forkeys:listofkeys];
NSString [email protected] "/users/shared/dictionary.txt";
[Dictionary writetofile:filepathname Atomically:yes];
}
return 0;
}
/**
* Content in the file
*/
<?xml version= "1.0" encoding= "Utf-8"?>
<! DOCTYPE plist Public "-//apple//dtd plist 1.0//en" "Http://www.apple.com/DTDS/PropertyList-1.0.dtd" >
<plist version= "1.0" >
<dict>
<key>english</key>
<string>hello world</string>
<key>french</key>
<string>bonjour tout le monde</string>
<key>spanish</key>
<string>hola mundo</string>
</dict>
</plist>
/**
* Read File Initwithcontentsoffile
*/
NSString *[email protected] "/users/shared/dictionary.txt";
Nsdictionary *dictionary=[[nsdictionary Alloc]initwithcontentsoffile:filepathname];
/**
*example
*/
#import <Foundation/Foundation.h>
int main (int argc,const char *argv[]) {
@autoreleasepool {
NSString *[email protected] "/users/shared/dictionary.txt";
Nsdictionary *dictionary=[nsdictionary Alloc]initwithcontentsoffile:filepathname];
NSLog (@ "dictionary:%@", dictionary);
}
return 0;
}
Overview of the iOS dictionary