কীগুলি নির্বিশেষে আমি কোনও এনএসমিটেবলড অভিধানে সমস্ত বস্তুর মধ্য দিয়ে কীভাবে লুপ করব?
উত্তর:
একটি স্ট্যান্ডার্ড উপায় এটি দেখতে হবে
for(id key in myDict) {
id value = [myDict objectForKey:key];
[value doStuff];
}
id key in myDict.allKeys
অভিধানের পরিবর্তে (যেমন ) কীগুলির মাধ্যমে পুনরাবৃত্তি করা ভাল । এটি আপনাকে অভিধানটি পরিবর্তন করতে দেয়, যা আপনি যা করতে চান তা হতে পারে।
তুমি ব্যবহার করতে পার
[myDict enumerateKeysAndObjectsUsingBlock: ^(id key, id obj, BOOL *stop) {
// do something with key and obj
}];
যদি আপনার টার্গেট ওএস ব্লকগুলিকে সমর্থন করে।
আপনি আপনার মানগুলির [dict allValues]
একটি পেতে ব্যবহার করতে পারেন NSArray
। সচেতন হন যে এটি কলগুলির মধ্যে কোনও অর্ডারের গ্যারান্টি দেয় না।
দ্রুত গণনায়
for(id key in myDictionary) {
id value = [myDictionary objectForKey:key];
// do something with key and obj
}
ব্লকগুলিতে:
[myDictionary enumerateKeysAndObjectsUsingBlock:^(id key, id obj, BOOL *stop) {
// do something with key and obj
}];
আপনার একটি ভেরিয়েবলের মান নির্ধারণ করার দরকার নেই। আপনি সরাসরি এটি দিয়ে অ্যাক্সেস করতে পারেন myDict[key]
।
for(id key in myDict) {
NSLog(@"Key:%@ Value:%@", key, myDict[key]);
}
for (id key, value in myDict)
তবে তা নিখুঁত হবে।