——Java培訓、Android培訓、iOS培訓、.Net培訓、期待與您交流! ——-
#import <Foundation/Foundation.h>
int main()
{
// 遍歷字典的方法:1.1 1.2 2.1 2.2(錯誤) 3.0 4.0
NSDictionary *dict = @{@"name": @"jiale", @"address": @"beijing",@"qq": @"630655214"};
// 注意最好不要用下面的value和key作爲關鍵字。
// 1.1 一般遍歷(for循環手動索引鍵)
/*
NSArray *allKeys = dict.allKeys; // 獲得所有的鍵值作爲索引。
NSString *value; // id 也可以。 = [NSString string]也可以。
for(NSInteger i = 0; i < allKeys.count; i++) // 注意可以用點語法,說明他們是屬性值。
{
value = [dict objectForKey:allKeys[i]];
NSLog(@"%@ %@", allKeys[i], value);
}
*/
// 1.2 一般遍歷(for循環手動索引鍵值)
/*
NSArray *allValues = dict.allValues;
NSArray *key; //注意是數組,對應下面的allKeysForObject。id 也可以。 = [NSArray array]也可以。。
for(NSInteger i = 0; i < allValues.count; i++)
{
key = [dict allKeysForObject:allValues[i]]; // 因爲是數組,所以取出它的首元素。
NSLog(@"%@ %@", key[0], allValues[i]);
}
*/
// 2.1 快速遍歷(for循環遍歷鍵)
/* for(id key in dict)
{
id value = [dict objectForKey:key]; // 通過鍵得到鍵值。
NSLog(@"%@ %@", value, key);
}
*/
// 2.2 快速遍歷(for循環遍歷鍵值,該方法錯誤,只能遍歷鍵)
/*
for(id obj in dict)
{
NSArray *key = [dict allKeysForObject:obj];
NSLog(@"%@ ", obj);
}
*/
// 3.0 利用block超快速遍歷,要謹記格式,其返回值爲空。
/*
[dict enumerateKeysAndObjectsUsingBlock:^(id key, id value, BOOL *stop) {
NSLog(@"%@ %@", key, value);
}];
*/
// 4.0 利用枚舉器遍歷(索引得到鍵,不能得到鍵值,同方法2.2一個道理。)
/*
NSEnumerator *enumerator = [dict keyEnumerator]; // 相應的,nsarray有-objectEnumerator方法。
id key;
while(key = [enumerator nextObject]) // 注意不要漏了此方法,NSEnumerator 只有一個屬
{ // 性allObjects 和一個方法nextObject.
NSLog(@"%@ %@", key, [dict objectForKey:key]);
}
*/
// 遍歷數組的方法:
NSArray *arr = @[@"name", @"jiale", @"address", @"beijing",@"qq", @"630655214"];
// 1.0 for循環遍歷。
/*
for (int i = 0; i < arr.count; i++) {
NSLog(@"%d %@", i, arr[i]);
}
*/
// 2.0 快速遍歷。
/*
for (id obj in arr) {
NSLog(@"%d %@", [arr indexOfObject:obj], obj);
}
*/
// 3.0 利用block遍歷。
/*
[arr enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) {
NSLog(@"%d %@", idx, obj);
}];
*/
// 4.0 利用nsenumerator枚舉器遍歷。
NSEnumerator *enumerator = [arr objectEnumerator];
id obj;
while (obj = [enumerator nextObject]) {
NSLog(@"%d %@", [arr indexOfObject:obj], obj);
}
return 0;
}