Der Python-Server API wird die Anfrage Signatur zu überprüfen, und der Mechanismus ist alle Werte zu bekommen, und sortieren, dann einen geheimen und MD5-Hash anhängen. Aber ich kann die Funktion sort() in obj-C nicht simulieren. Es gibt den Python make_sign Code:Suche nach einer Methode sortiere NSArray auf obj-C was äquivalent python sort (timsort)
def make_sign(api_secret, params=[]):
"""
>>> make_sign("mysecret",[1,'2','string'])
'AACF0E5427EECA3490C5642C9916785'
"""
_params = [p for p in params if p is not None]
_params.sort()
_params.insert(0, api_secret)
strs = ''.join(_params)
mds = md5(strs.encode('utf-8')).hexdigest()
return mds.upper()
Ich weiß über 'sortedArray', aber weiß nicht, wie man das NSArray vergleicht, enthält beides Abbildung und Zeichen und Zeichenkette. –
Sie können nach einem Typ mit '-isKindOfClass:' suchen. Sind alle Daten vom Typ 'NSString'? In einem solchen Fall müssen Sie jedoch wie im zweiten Absatz beschrieben vorgehen, da es keine natürliche Reihenfolge gibt. Vielleicht ist dies ein Ausgangspunkt: https://developer.apple.com/library/ios/documentation/Cocoa/Reference/Foundation/Classes/NSString_Class/index.html#//apple_ref/occ/instm/NSString/compare:options : –