1

I have this code, and some times the variable dConfiguration is Nil and I get a EXC_BAD_ACCESS error and most of the time the variable said 0 key/value pairs, and the error is almost imposible to reproduce, I just click my button and most of the time work but in rare occasions it fails.

serviceData = data;
dispatch_async(dispatch_get_main_queue(), ^{
    [loading removeFromSuperview];
    _tvTable.hidden = NO;
    dConfiguration =[NSJSONSerialization JSONObjectWithData:serviceData options:kNilOptions error:nil];
    if (![[dConfiguration objectForKey:@"NumberOfLines"] isEqual: [NSNull null]]) {
        _NumberOfLines = [[dConfiguration objectForKey:@"NumberOfLines"] integerValue];
    } else {
        _NumberOfLines = 1;
    }
    if(badget!=nil){
        dBadgets = [NSJSONSerialization JSONObjectWithData:badget options:kNilOptions error:nil];
    }
    dValue = [dConfiguration objectForKey:sButtonType];
    RowCount = (int)dValue.count;
    [_tvTable numberOfRowsInSection:RowCount];
    [self loadTable];
});

This variable is declared as global in the implementation:

@implementation vcTableViewEventsManagerEvents {
    NSDictionary *dConfiguration;
}

I have never implemented the alloc init code:

dConfiguration = [[NSDictionary alloc] init];

Does this can be the problem? if I always init the variable this error will not occur? It is a good practice to always do the initialisation? Where can I see a more detailed information of the EXC_BAD_ACCESS?

Thanks to all your help.

UPDATE 1

I have tried the to see the error as all commented and maybe I'm doing something wrong because the error variable is nil this are the screen shoots:

enter image description here

enter image description here

enter image description here

In this particular time the variable dConfiguration said 0 key/value pairs because I added the alloc init.

I have tried with double click and changing from the tabbar items as fast as I can and sometimes work and some times it does not.

UPDATE 2

As you asked this is the BT of the error:

thread #1: tid = 0x7bfdfd, 0x2537dd52 FoundationnewJSONString + 98, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0x3fe64a2) frame #0: 0x2537dd52 FoundationnewJSONString + 98 frame #1: 0x2537d300 FoundationnewJSONValue + 1976 frame #2: 0x2537cf04 FoundationnewJSONValue + 956 frame #3: 0x2537d380 FoundationnewJSONValue + 2104 frame #4: 0x2537ca80 Foundation-[_NSJSONReader parseUTF8JSONData:skipBytes:options:] + 176 frame #5: 0x2537c88e Foundation-[_NSJSONReader parseData:options:] + 238 frame #6: 0x2537c718 Foundation+[NSJSONSerialization JSONObjectWithData:options:error:] + 156 frame #7: 0x00121b24 guestperience__43-[vcTableViewEventsManagerEvents checkJson]_block_invoke_2(.block_descriptor=0x17040f40) + 244 at vcTableViewEventsManagerEvents.m:298 frame #8: 0x00495b7e libdispatch.dylib_dispatch_call_block_and_release + 10 frame #9: 0x00495b6a libdispatch.dylib_dispatch_client_callout + 22 frame #10: 0x0049a654 libdispatch.dylib_dispatch_main_queue_callback_4CF + 1680 frame #11: 0x24b81bdc CoreFoundation__CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__ + 8 frame #12: 0x24b800d6 CoreFoundation__CFRunLoopRun + 1574 frame #13: 0x24acf2e8 CoreFoundationCFRunLoopRunSpecific + 520 frame #14: 0x24acf0d4 CoreFoundationCFRunLoopRunInMode + 108 frame #15: 0x260bfac8 GraphicsServicesGSEventRunModal + 160 frame #16: 0x291940b8 UIKitUIApplicationMain + 144 frame #17: 0x001cb6f0 guestperiencemain(argc=1, argv=0x00473b5c) + 106 at main.m:16 frame #18: 0x24777872 libdyld.dylibstart + 2

UPDATE 3

I have executed this command in the console to see the JSON and to me looks correct:

(lldb) po (NSString *)[[NSString alloc] initWithData:serviceData encoding:4]

{
    "BackgroundImage": null,
    "ButtonGallery": null,
    "Buttons": null,
    "ButtonsEvents": [{
        "BadgeCount": 0,
        "ClientId": 0,
        "Frequency": "04 JUN 2016 - Horario: 11.00 - 18.00",
        "Id": 23,
        "Image": "http:\/\/ServerCloud.CloudApp.net\/DesktopServerCloud\/ClientData\/4\/Images\/GVT_15f37703-f0a0-4f10-be70-76e0118fa9f9_x320.jpg",
        "ImageHeighlighted": null,
        "ImageIconTitle": "",
        "ImageRetina": "http:\/\/ServerCloud.CloudApp.net\/DesktopServerCloud\/ClientData\/4\/Images\/GVT_15f37703-f0a0-4f10-be70-76e0118fa9f9_x320.jpg",
        "ImageRetinaHeighlighted": null,
        "Item": "134",
        "ItemType": null,
        "JsonConfigFile": "134es",
        "Label": "Brazil Pool Party",
        "LongTitle": null,
        "Selector": "btnAction:",
        "SubLabel": null,
        "Title": "Brazil Pool Party",
        "ViewController": 21
    }, {
        "BadgeCount": 0,
        "ClientId": 0,
        "Frequency": "23 JUN 2016 - Horario: 20:00 - 01:00",
        "Id": 29,
        "Image": "http:\/\/ServerCloud.CloudApp.net\/DesktopServerCloud\/ClientData\/4\/Images\/GVT_5af125bb-1bdf-4fcf-9306-3b565cdbb928_x320.jpg",
        "ImageHeighlighted": null,
        "ImageIconTitle": "",
        "ImageRetina": "http:\/\/ServerCloud.CloudApp.net\/DesktopServerCloud\/ClientData\/4\/Images\/GVT_5af125bb-1bdf-4fcf-9306-3b565cdbb928_x320.jpg",
        "ImageRetinaHeighlighted": null,
        "Item": "140",
        "ItemType": null,
        "JsonConfigFile": "140es",
        "Label": "Noche de San Juan",
        "LongTitle": null,
        "Selector": "btnAction:",
        "SubLabel": null,
        "Title": "Noche de San Juan",
        "ViewController": 21
    }, {
        "BadgeCount": 0,
        "ClientId": 0,
        "Frequency": "02 JUL 2016 - Horario: 21:00 - 1:00",
        "Id": 30,
        "Image": "http:\/\/ServerCloud.CloudApp.net\/DesktopServerCloud\/ClientData\/4\/Images\/GVT_7227de52-8d27-4a65-bdf7-dea08e37b968_x320.jpg",
        "ImageHeighlighted": null,
        "ImageIconTitle": "",
        "ImageRetina": "http:\/\/ServerCloud.CloudApp.net\/DesktopServerCloud\/ClientData\/4\/Images\/GVT_7227de52-8d27-4a65-bdf7-dea08e37b968_x320.jpg",
        "ImageRetinaHeighlighted": null,
        "Item": "141",
        "ItemType": null,
        "JsonConfigFile": "141es",
        "Label": "Noche Amàre",
        "LongTitle": null,
        "Selector": "btnAction:",
        "SubLabel": null,
        "Title": "Noche Amàre",
        "ViewController": 21
    }, {
        "BadgeCount": 0,
        "ClientId": 0,
        "Frequency": "09 JUL 2016 - Horario: 22:00 - 00:00",
        "Id": 28,
        "Image": "http:\/\/ServerCloud.CloudApp.net\/DesktopServerCloud\/ClientData\/4\/Images\/GVT_4ad05ca3-c345-4a6f-aeb9-972610056b86_x320.jpg",
        "ImageHeighlighted": null,
        "ImageIconTitle": "",
        "ImageRetina": "http:\/\/ServerCloud.CloudApp.net\/DesktopServerCloud\/ClientData\/4\/Images\/GVT_4ad05ca3-c345-4a6f-aeb9-972610056b86_x320.jpg",
        "ImageRetinaHeighlighted": null,
        "Item": "139",
        "ItemType": null,
        "JsonConfigFile": "139es",
        "Label": "Noche Flamenca Beach",
        "LongTitle": null,
        "Selector": "btnAction:",
        "SubLabel": null,
        "Title": "Noche Flamenca Beach",
        "ViewController": 21
    }, {
        "BadgeCount": 0,
        "ClientId": 0,
        "Frequency": "20 JUL 2016 - Horario: 19:00 - 22:00",
        "Id": 27,
        "Image": "http:\/\/ServerCloud.CloudApp.net\/DesktopServerCloud\/ClientData\/4\/Images\/GVT_161bab39-5ac6-43a0-84c4-5c0fa764b5b0_x320.jpg",
        "ImageHeighlighted": null,
        "ImageIconTitle": "",
        "ImageRetina": "http:\/\/ServerCloud.CloudApp.net\/DesktopServerCloud\/ClientData\/4\/Images\/GVT_161bab39-5ac6-43a0-84c4-5c0fa764b5b0_x320.jpg",
        "ImageRetinaHeighlighted": null,
        "Item": "138",
        "ItemType": null,
        "JsonConfigFile": "138es",
        "Label": "Noche de luna llena",
        "LongTitle": null,
        "Selector": "btnAction:",
        "SubLabel": null,
        "Title": "Noche de luna llena",
        "ViewController": 21
    }, {
        "BadgeCount": 0,
        "ClientId": 0,
        "Frequency": "23 JUL 2016 - Horario: 21:00 - 00:00",
        "Id": 26,
        "Image": "http:\/\/ServerCloud.CloudApp.net\/DesktopServerCloud\/ClientData\/4\/Images\/GVT_c657d56d-5f24-4f28-8d0c-66afb2fae1ad_x320.jpg",
        "ImageHeighlighted": null,
        "ImageIconTitle": "",
        "ImageRetina": "http:\/\/ServerCloud.CloudApp.net\/DesktopServerCloud\/ClientData\/4\/Images\/GVT_c657d56d-5f24-4f28-8d0c-66afb2fae1ad_x320.jpg",
        "ImageRetinaHeighlighted": null,
        "Item": "137",
        "ItemType": null,
        "JsonConfigFile": "137es",
        "Label": "Noche cubana",
        "LongTitle": null,
        "Selector": "btnAction:",
        "SubLabel": null,
        "Title": "Noche cubana",
        "ViewController": 21
    }, {
        "BadgeCount": 0,
        "ClientId": 0,
        "Frequency": "06 AGO 2016 - Horario: 22:00 - 00:00",
        "Id": 31,
        "Image": "http:\/\/ServerCloud.CloudApp.net\/DesktopServerCloud\/ClientData\/4\/Images\/GVT_98032ab6-b689-42d6-b19b-6b82705478a3_x320.jpg",
        "ImageHeighlighted": null,
        "ImageIconTitle": "",
        "ImageRetina": "http:\/\/ServerCloud.CloudApp.net\/DesktopServerCloud\/ClientData\/4\/Images\/GVT_98032ab6-b689-42d6-b19b-6b82705478a3_x320.jpg",
        "ImageRetinaHeighlighted": null,
        "Item": "142",
        "ItemType": null,
        "JsonConfigFile": "142es",
        "Label": "Noche Flamenca Beach",
        "LongTitle": null,
        "Selector": "btnAction:",
        "SubLabel": null,
        "Title": "Noche Flamenca Beach",
        "ViewController": 21
    }, {
        "BadgeCount": 0,
        "ClientId": 0,
        "Frequency": "13 AGO 2016 - Horario: 21:00 - 00:00",
        "Id": 32,
        "Image": "http:\/\/ServerCloud.CloudApp.net\/DesktopServerCloud\/ClientData\/4\/Images\/GVT_447f28d9-ed38-4482-868e-74743cbb5a89_x320.jpg",
        "ImageHeighlighted": null,
        "ImageIconTitle": "",
        "ImageRetina": "http:\/\/ServerCloud.CloudApp.net\/DesktopServerCloud\/ClientData\/4\/Images\/GVT_447f28d9-ed38-4482-868e-74743cbb5a89_x320.jpg",
        "ImageRetinaHeighlighted": null,
        "Item": "143",
        "ItemType": null,
        "JsonConfigFile": "143es",
        "Label": "Noche cubana",
        "LongTitle": null,
        "Selector": "btnAction:",
        "SubLabel": null,
        "Title": "Noche cubana",
        "ViewController": 21
    }, {
        "BadgeCount": 0,
        "ClientId": 0,
        "Frequency": "10 SEP 2016 - Horario: 11:00 - 18:00",
        "Id": 33,
        "Image": "http:\/\/ServerCloud.CloudApp.net\/DesktopServerCloud\/ClientData\/4\/Images\/GVT_a7328a94-d64d-4fd4-b0a1-a2c126c8c92c_x320.jpg",
        "ImageHeighlighted": null,
        "ImageIconTitle": "",
        "ImageRetina": "http:\/\/ServerCloud.CloudApp.net\/DesktopServerCloud\/ClientData\/4\/Images\/GVT_a7328a94-d64d-4fd4-b0a1-a2c126c8c92c_x320.jpg",
        "ImageRetinaHeighlighted": null,
        "Item": "144",
        "ItemType": null,
        "JsonConfigFile": "144es",
        "Label": "Pool Party",
        "LongTitle": null,
        "Selector": "btnAction:",
        "SubLabel": null,
        "Title": "Pool Party",
        "ViewController": 21
    }, {
        "BadgeCount": 0,
        "ClientId": 0,
        "Frequency": "17 SEP 2016 - Horario: 12:00 - 18:00",
        "Id": 25,
        "Image": "http:\/\/ServerCloud.CloudApp.net\/DesktopServerCloud\/ClientData\/4\/Images\/GVT_9f8af8e5-56d7-433f-9661-9403196faad8_x320.jpg",
        "ImageHeighlighted": null,
        "ImageIconTitle": "",
        "ImageRetina": "http:\/\/ServerCloud.CloudApp.net\/DesktopServerCloud\/ClientData\/4\/Images\/GVT_9f8af8e5-56d7-433f-9661-9403196faad8_x320.jpg",
        "ImageRetinaHeighlighted": null,
        "Item": "136",
        "ItemType": null,
        "JsonConfigFile": "136es",
        "Label": "Oktoberfest",
        "LongTitle": null,
        "Selector": "btnAction:",
        "SubLabel": null,
        "Title": "Oktoberfest",
        "ViewController": 21
    }],
    "ButtonsPromotions": [{
        "BadgeCount": 0,
        "ClientId": 0,
        "Frequency": "",
        "Id": 18,
        "Image": "http:\/\/ServerCloud.CloudApp.net\/DesktopServerCloud\/ClientData\/4\/Images\/GVT_ba95942c-1ece-4332-9f95-eb3f95738f41_x320.png",
        "ImageHeighlighted": null,
        "ImageIconTitle": "",
        "ImageRetina": "http:\/\/ServerCloud.CloudApp.net\/DesktopServerCloud\/ClientData\/4\/Images\/GVT_ba95942c-1ece-4332-9f95-eb3f95738f41_x320.png",
        "ImageRetinaHeighlighted": null,
        "Item": "126",
        "ItemType": null,
        "JsonConfigFile": "126es",
        "Label": "Desayuna con Nosotros",
        "LongTitle": null,
        "Selector": "btnAction:",
        "SubLabel": null,
        "Title": "Desayuna con Nosotros",
        "ViewController": 20
    }, {
        "BadgeCount": 0,
        "ClientId": 0,
        "Frequency": "",
        "Id": 19,
        "Image": "http:\/\/ServerCloud.CloudApp.net\/DesktopServerCloud\/ClientData\/4\/Images\/GVT_3b9f1e44-5f33-4eb9-987b-5e50dcaed2a7_x320.png",
        "ImageHeighlighted": null,
        "ImageIconTitle": "",
        "ImageRetina": "http:\/\/ServerCloud.CloudApp.net\/DesktopServerCloud\/ClientData\/4\/Images\/GVT_3b9f1e44-5f33-4eb9-987b-5e50dcaed2a7_x320.png",
        "ImageRetinaHeighlighted": null,
        "Item": "127",
        "ItemType": null,
        "JsonConfigFile": "127es",
        "Label": "Disfruta de Nuestra Cena Buffet",
        "LongTitle": null,
        "Selector": "btnAction:",
        "SubLabel": null,
        "Title": "Disfruta de Nuestra Cena Buffet",
        "ViewController": 20
    }, {
        "BadgeCount": 0,
        "ClientId": 0,
        "Frequency": "",
        "Id": 20,
        "Image": "http:\/\/ServerCloud.CloudApp.net\/DesktopServerCloud\/ClientData\/4\/Images\/GVT_f0ec90c9-3383-48f7-b5cf-28a236aee9e9_x320.png",
        "ImageHeighlighted": null,
        "ImageIconTitle": "",
        "ImageRetina": "http:\/\/ServerCloud.CloudApp.net\/DesktopServerCloud\/ClientData\/4\/Images\/GVT_f0ec90c9-3383-48f7-b5cf-28a236aee9e9_x320.png",
        "ImageRetinaHeighlighted": null,
        "Item": "128",
        "ItemType": null,
        "JsonConfigFile": "128es",
        "Label": "Alquiler de Bicicletas Vintage",
        "LongTitle": null,
        "Selector": "btnAction:",
        "SubLabel": null,
        "Title": "Alquiler de Bicicletas Vintage",
        "ViewController": 20
    }, {
        "BadgeCount": 0,
        "ClientId": 0,
        "Frequency": "",
        "Id": 21,
        "Image": "http:\/\/ServerCloud.CloudApp.net\/DesktopServerCloud\/ClientData\/4\/Images\/GVT_f72a03bf-ddd2-486e-a289-cb3e82bd08db_x320.png",
        "ImageHeighlighted": null,
        "ImageIconTitle": "",
        "ImageRetina": "http:\/\/ServerCloud.CloudApp.net\/DesktopServerCloud\/ClientData\/4\/Images\/GVT_f72a03bf-ddd2-486e-a289-cb3e82bd08db_x320.png",
        "ImageRetinaHeighlighted": null,
        "Item": "129",
        "ItemType": null,
        "JsonConfigFile": "129es",
        "Label": "Parking",
        "LongTitle": null,
        "Selector": "btnAction:",
        "SubLabel": null,
        "Title": "Parking",
        "ViewController": 20
    }, {
        "BadgeCount": 0,
        "ClientId": 0,
        "Frequency": "",
        "Id": 22,
        "Image": "http:\/\/ServerCloud.CloudApp.net\/DesktopServerCloud\/ClientData\/4\/Images\/GVT_3dd87e35-2ae3-4ef2-a70a-f1b44e41d27a_x320.png",
        "ImageHeighlighted": null,
        "ImageIconTitle": "",
        "ImageRetina": "http:\/\/ServerCloud.CloudApp.net\/DesktopServerCloud\/ClientData\/4\/Images\/GVT_3dd87e35-2ae3-4ef2-a70a-f1b44e41d27a_x320.png",
        "ImageRetinaHeighlighted": null,
        "Item": "130",
        "ItemType": null,
        "JsonConfigFile": "130es",
        "Label": "Ofertas de Grab & Go",
        "LongTitle": null,
        "Selector": "btnAction:",
        "SubLabel": null,
        "Title": "Ofertas de Grab & Go",
        "ViewController": 20
    }, {
        "BadgeCount": 0,
        "ClientId": 0,
        "Frequency": "",
        "Id": 13,
        "Image": "http:\/\/ServerCloud.CloudApp.net\/DesktopServerCloud\/ClientData\/4\/Images\/GVT_b8187a48-1b03-4b29-a403-f03af8433c4f_x320.png",
        "ImageHeighlighted": null,
        "ImageIconTitle": "",
        "ImageRetina": "http:\/\/ServerCloud.CloudApp.net\/DesktopServerCloud\/ClientData\/4\/Images\/GVT_b8187a48-1b03-4b29-a403-f03af8433c4f_x320.png",
        "ImageRetinaHeighlighted": null,
        "Item": "92",
        "ItemType": null,
        "JsonConfigFile": "92es",
        "Label": "Habitación \"The One\"",
        "LongTitle": null,
        "Selector": "btnAction:",
        "SubLabel": null,
        "Title": "Habitación \"The One\"",
        "ViewController": 20
    }, {
        "BadgeCount": 0,
        "ClientId": 0,
        "Frequency": "",
        "Id": 14,
        "Image": "http:\/\/ServerCloud.CloudApp.net\/DesktopServerCloud\/ClientData\/4\/Images\/GVT_fc20ec9b-2107-4828-9796-d5234dbe80fd_x320.png",
        "ImageHeighlighted": null,
        "ImageIconTitle": "",
        "ImageRetina": "http:\/\/ServerCloud.CloudApp.net\/DesktopServerCloud\/ClientData\/4\/Images\/GVT_fc20ec9b-2107-4828-9796-d5234dbe80fd_x320.png",
        "ImageRetinaHeighlighted": null,
        "Item": "98",
        "ItemType": null,
        "JsonConfigFile": "98es",
        "Label": "Disfruta de una Salida de Habitación más Tarde",
        "LongTitle": null,
        "Selector": "btnAction:",
        "SubLabel": null,
        "Title": "Disfruta de una Salida de Habitación más Tarde",
        "ViewController": 20
    }, {
        "BadgeCount": 0,
        "ClientId": 0,
        "Frequency": "",
        "Id": 15,
        "Image": "http:\/\/ServerCloud.CloudApp.net\/DesktopServerCloud\/ClientData\/4\/Images\/GVT_be514668-27d0-4ee8-995e-0f8f89936c9b_x320.png",
        "ImageHeighlighted": null,
        "ImageIconTitle": "",
        "ImageRetina": "http:\/\/ServerCloud.CloudApp.net\/DesktopServerCloud\/ClientData\/4\/Images\/GVT_be514668-27d0-4ee8-995e-0f8f89936c9b_x320.png",
        "ImageRetinaHeighlighted": null,
        "Item": "103",
        "ItemType": null,
        "JsonConfigFile": "103es",
        "Label": "Habitación categoría superior",
        "LongTitle": null,
        "Selector": "btnAction:",
        "SubLabel": null,
        "Title": "Habitación categoría superior",
        "ViewController": 20
    }],
    "ButtonsTabList": null,
    "DatePeriod": null,
    "Details": null,
    "Disclaimer": null,
    "MessageList": null,
    "NoBooking": null,
    "NumberOfLines": 2,
    "Pins": null,
    "Selector": null,
    "ServiceType": null,
    "TabList": null,
    "Texts": null,
    "Titles": null,
    "Url": null,
    "UserCode": null
}
Stornu2
  • 2,284
  • 3
  • 27
  • 47
  • You don't need the alloc/init since you do [NSJSONSerialization stuff] and assign the return value to it. But when it occurs, is `serviceData` nil? Also, could you put a `NSError` parameter in the `JSONObjectWithData:options:error:`? If you click twice quickly on the button, does it occurs? – Larme May 17 '16 at 08:49
  • Try passing an error variable at the line – Avinash Sharma May 17 '16 at 08:53
  • 1
    As an aside: anyone who posts to SO about a crash or error, and has a method call where `nil` is being passed to the `NSError **` parameter, should have their SO posting privileges immediately removed. That's the absolute basic level of debugging. (As it happens, it wouldn't help with this crash, but still, the effort should be expended before coming to SO.) – Avi May 17 '16 at 08:56
  • @Larme serviceData is not nil and it have the correct JSON data, and the error happens when I change sections in my tabbar quickly, I will try to pass the error variable and post the results – Stornu2 May 17 '16 at 08:57
  • @AvinashSharma I will try to pass the error variable and post the results – Stornu2 May 17 '16 at 08:57
  • You are doing `async` stuff. Do you put `serviceData = nil` somewhere? For instance, if you put it to nil, doing quickly two calls of this code may cause the issue. – Larme May 17 '16 at 09:03
  • I guess serviceData variable becomes nil in bad cases. Larme's suggestion is correct. – David V May 17 '16 at 09:05
  • Can we have a proper stacktrace please. Also why call `[_tvTable numberOfRowsInSection:RowCount];`? – trojanfoe May 17 '16 at 09:16
  • @Larme I have checked and the I never set that variable to nil, in fact I have just removed it – Stornu2 May 17 '16 at 09:27
  • @trojanfoe how can I get the stack trace? – Stornu2 May 17 '16 at 09:27
  • If it crashes in Xcode then you can type `bt` in the console. If it crashes in the wild then Apple will collect the crash report. There is not enough information to answer your question at the moment. – trojanfoe May 17 '16 at 09:29
  • @trojanfoe I have added the BT, this time it took a while to reproduce the error like 10 minutes – Stornu2 May 17 '16 at 10:10
  • @Larme I have added more information thanks for the help – Stornu2 May 17 '16 at 11:27

1 Answers1

1

When you modify a variable inside a block, you must use the __block specifier

__block NSDictionary *dConfiguration;


__block NSData *serviceData = data;
dispatch_async(dispatch_get_main_queue(), ^{
  //...
});
Niko
  • 3,412
  • 26
  • 35
  • Can I use a __block specifier in a global variable? or should I have to make a copy and the use that one? – Stornu2 May 17 '16 at 09:39
  • Thanks for the help but the __block specifier did not work – Stornu2 May 17 '16 at 11:34
  • At the end I have simplified the code, but until and it was more difficult to reproduce but it was still happening, so I added the __block specifier and since yesterday I have not been able to reproduce the error so I'm going to set this answer as the correct. – Stornu2 May 18 '16 at 10:53
  • Hi @MarcoAntonioUzcateguiPescoz sorry for the answer delay. I'm glad that my answer led you to the solution. Have a great day – Niko May 19 '16 at 08:24