2010-07-05 4 views
1

Quelqu'un peut-il m'aider avec un code pour vérifier les doublons dans un NSArray pour obective C. J'ai fait ce que je veux dans vb.net mais la traduction est difficile pour moi.Vérification des doublons NSArray

'True means no duplicates' 
Public Shared Function checkDuplicate(ByVal list As ArrayList) As [Boolean] 
    Dim [set] As New HashSet(Of Integer) 
    For i As Integer = 0 To list.Count - 1 
     Dim val As Boolean = [set].Add(list(i)) 
     If val = False Then 
      Return val 
     End If 
    Next 
    Return True 
End Function 
+0

Veuillez poster votre code dans un bloc de code. –

Répondre

8
static BOOL CheckDuplicate(NSArray* array) 
{ 
    return [[NSSet setWithArray: array] count] == [array count]; 
} 

post-scriptum vous ne pouvez pas en faire une exacte pour une traduction de votre code, car [NSMutableSet addObject:] ne vous dit pas si quelque chose a été ajouté.

P.P.S. Je viens de remarquer le commentaire "true signifie pas de doublons", donc j'ai changé < à == dans mon code. Mais il serait préférable de choisir un nom de fonction plus clair, comme HasNoDuplicates.

+1

+1 c'est comme ça que je le ferais. –

Questions connexes