Using a Dictionary to retrieve BOOL values
Assuming the values under the id keys always match properties of currentAppswitches.

If you can change currentAppswitches's class to accept an NSNumber object rather than a BOOL you have some convenient options.

If currentAppswitches is KVO compliant you could write:

for (NSDictionary *item in switchesArray) {
  id value = [item objectForKey:@"value"];
  id key = [item objectForKey:@"id"];
  [currentAppswitches setValue:value forKeyPath:key];
}


Alternately you could use:

for (NSDictionary *item in switchesArray) {
  BOOL value = [[item objectForKey:@"value"] boolValue];

  //construct a selector for the property setter
  NSMutableString *selectorName = [item objectForKey:@"id"];
  NSString *firstCharacter = [selectorName substringToIndex:1];
  [selectorName stringByReplacingCharactersInRange:NSMakeRange(0,1) withString:[firstCharacter uppercaseString]];
  [selectorName insertString:@"set" atIndex:0];
  [selectorName appendString:@":"];

  SEL selector = NSSelectorFromString(selectorName);
  [currentAppswitches performSelector:selector withObject:value];
}


If currentAppswitches must continue to accept BOOLs then you could create an invocation:

for (NSDictionary *item in switchesArray) {
  id value = [item objectForKey:@"value"];

  //construct a selector for the property setter
  NSMutableString *selectorName = [item objectForKey:@"id"];
  NSString *firstCharacter = [selectorName substringToIndex:1];
  [selectorName stringByReplacingCharactersInRange:NSMakeRange(0,1) withString:[firstCharacter uppercaseString]];
  [selectorName insertString:@"set" atIndex:0];
  [selectorName appendString:@":"];

  SEL selector = NSSelectorFromString(selectorName);
  NSMethodSignature* signature = [[currentAppswitches class] instanceMethodSignatureForSelector:selector];
  NSInvocation* invocation = [NSInvocation invocationWithMethodSignature:signature];
  [invocation setTarget:currentAppswitches];
  [invocation setSelector:selector ];
  [invocation setArgument:&amp;myBoolValue atIndex:2];
  [invocation invoke];
}