diff --git a/Ring/Ring/Bridging/Utils.h b/Ring/Ring/Bridging/Utils.h index 063752b5a3e168ac524b7bdf4366d93fbb12049b..f8e2d1dee28ddbe76ea8f714b59bc48d3b1c0565 100644 --- a/Ring/Ring/Bridging/Utils.h +++ b/Ring/Ring/Bridging/Utils.h @@ -31,5 +31,6 @@ + (NSMutableDictionary*)mapToDictionnary: (const std::map<std::string, std::string>&)map; + (std::map<std::string, std::string>)dictionnaryToMap:(NSDictionary*)dict; ++ (NSArray*)vectorOfMapsToArray:(const std::vector<std::map<std::string, std::string>>&)vectorOfMaps; @end diff --git a/Ring/Ring/Bridging/Utils.mm b/Ring/Ring/Bridging/Utils.mm index 332ff1157eed0f2c3b1f542d9c77cdc5f624b8ba..bbfceaa38fd894cc2de1094c8607e0591bebf58f 100644 --- a/Ring/Ring/Bridging/Utils.mm +++ b/Ring/Ring/Bridging/Utils.mm @@ -56,4 +56,17 @@ return resMap; } ++ (NSArray*)vectorOfMapsToArray: +(const std::vector<std::map<std::string, std::string>>&)vectorOfMaps { + NSMutableArray* array = [[NSMutableArray alloc] initWithCapacity:vectorOfMaps.size()]; + + std::for_each( + vectorOfMaps.begin(), vectorOfMaps.end(), ^(std::map<std::string, std::string> map) { + NSDictionary *dictionary = [Utils mapToDictionnary:map]; + [array addObject:dictionary]; + }); + + return [NSArray arrayWithArray:array]; +} + @end