এর আগে পোস্ট করা গ্রাহাম পার্কস আইডিয়ায় বিল্ডিং, স্ট্রিংগুলিকে সাদামাটা সহজ এবং পরিষ্কার করার জন্য একটি সাধারণ ক্লাস ডিজাইন করেছে।
@interface Switcher : NSObject
+ (void)switchOnString:(NSString *)tString
using:(NSDictionary<NSString *, CaseBlock> *)tCases
withDefault:(CaseBlock)tDefaultBlock;
@end
@implementation Switcher
+ (void)switchOnString:(NSString *)tString
using:(NSDictionary<NSString *, CaseBlock> *)tCases
withDefault:(CaseBlock)tDefaultBlock
{
CaseBlock blockToExecute = tCases[tString];
if (blockToExecute) {
blockToExecute();
} else {
tDefaultBlock();
}
}
@end
আপনি এটি এর মতো ব্যবহার করবেন:
[Switcher switchOnString:someString
using:@{
@"Spades":
^{
NSLog(@"Spades block");
},
@"Hearts":
^{
NSLog(@"Hearts block");
},
@"Clubs":
^{
NSLog(@"Clubs block");
},
@"Diamonds":
^{
NSLog(@"Diamonds block");
}
} withDefault:
^{
NSLog(@"Default block");
}
];
সঠিক ব্লকটি স্ট্রিং অনুযায়ী কার্যকর করা হবে।
এই সমাধানের জন্য সংক্ষেপে