Remover duplicado do nsmutablearray contendo nsdictionary

Quero remover duplicatas do nsmutablearray.

Estrutura da matriz: -

(
    {
        "act_end_date" = "";
        "act_entry_date" = "13/11/2014";
        "act_recurrrance_type" = Daily;
        "act_start_date" = "2014-11-13";
        "row_id" = 0;
        "act_id" = 2;
    }
    {
        "act_end_date" = "";
        "act_entry_date" = "13/11/2014";
        "act_recurrrance_type" = Daily;
        "act_start_date" = "2014-11-13";
        "row_id" = 1;
        "act_id" = 2;
    }
    {
        "act_end_date" = "";
        "act_entry_date" = "16/11/2014";
        "act_recurrrance_type" = Daily1;
        "act_start_date" = "2014-11-15";
        "row_id" = 2;
        "act_id" = 3;
    }
)

O que eu quero é verificar onde array contém qualquer dicionário que tenha o mesmo act_id. Se sim, remova o primeiro dicionário. ou seja, o resultado esperado para a matriz acima é: -

(
        {
            "act_end_date" = "";
            "act_entry_date" = "13/11/2014";
            "act_recurrrance_type" = Daily;
            "act_start_date" = "2014-11-13";
            "row_id" = 1;
            "act_id" = 2;
        }
        {
            "act_end_date" = "";
            "act_entry_date" = "16/11/2014";
            "act_recurrrance_type" = Daily1;
            "act_start_date" = "2014-11-15";
            "row_id" = 2;
            "act_id" = 3;
        }
    )

É o seu caminho? É possível usando o NSPREDICATE?

Tento fazê-lo da seguinte maneira: -

  NSMutableArray *filteredArray = [NSMutableArray array];

    for (NSMutableDictionary* E1 in Event_Array)
    {

        BOOL hasDuplicate = [[filteredArray filteredArrayUsingPredicate:[NSPredicate predicateWithFormat:@"act_id == %@", [E1 objectForKey:@"act_id"]]] count] > 0;

        if (!hasDuplicate)
        {
            [filteredArray addObject:E1];
        }
    }

Para isso retorna array: ---

(
    {
        "act_end_date" = "";
        "act_entry_date" = "13/11/2014";
        "act_recurrrance_type" = Daily;
        "act_start_date" = "2014-11-13";
        "row_id" = 0;
        "act_id" = 2;
    }
)

O que eu quero é

(
    {
        "act_end_date" = "";
        "act_entry_date" = "13/11/2014";
        "act_recurrrance_type" = Daily;
        "act_start_date" = "2014-11-13";
        "row_id" = 1;
        "act_id" = 2;
    }
)

questionAnswers(2)

yourAnswerToTheQuestion