J'utilise GCDAcyncUDPSocket pour recevoir des données. Dans le code ci-dessous, je crée un tuple de (timestamp, data) et l'ajoute dans un autre tableau. Voici mon code:GCDAsyncUdpSocket lors de la réception de données provoque une erreur malloc
- (void)udpSocket:(GCDAsyncUdpSocket *)sock didReceiveData:(NSData *)data fromAddress:(NSData *)address withFilterContext:(id)filterContext
{
dispatch_queue_t bg_queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH, 0);
NSString *msg = [[NSString alloc] initWithData:data encoding:NSASCIIStringEncoding];
NSTimeInterval t = [self getTime];
if (msg)
{
[self.activityQueue.activityQueue enqueue:@"1"];
dispatch_async(bg_queue, ^{
NSData * d = [data copy];
[self addRecvJitter:t withData:d];
d= nil;
});
}
}
- (void)addRecvJitter:(NSTimeInterval)t withData:(NSData *)data
{
NSString * add = [NSString stringWithFormat:@"%f",(t - self.jitterOrigin)];
NSArray * addToList = [[NSArray alloc] initWithObjects:add,data, nil];
[_rcvdJitter addObject:addToList];
}
J'obtiens l'erreur suivante malloc: * erreur pour objet 0x7a9c2820: double libération * mis un point d'arrêt dans malloc_error_break pour déboguer à cette ligne "[_ rcvdJitter addObject: addToList]; "
Puis-je obtenir de l'aide à ce sujet?
Merci