2017-02-03 1 views
1

У меня есть следующий код:__NSPlaceholderDictionary initWithObjects: forKeys: кол-во: аварии

queryParams = @{@"geo_location" : [GlobalData sharedGlobalData].latLong, @"sale_ids": selectedSaleId}; 

Это иногда происходит сбой в прямом приложении, но мы не можем воспроизвести аварии. Я пытался проанализировать отчет и понять, что может быть причиной крушения, но я не добился успеха.

Я хотел бы получить некоторую помощь понимание при каких обстоятельствах следующие аварии будет происходить:

1 __exceptionPreprocess + 1245624 
2 libobjc.A.dylib objc_exception_throw + 34136 
3 CoreFoundation -[__NSPlaceholderDictionary initWithObjects:forKeys:count:] + 81576 
4 CoreFoundation +[NSDictionary dictionaryWithObjects:forKeys:count:] + 81176 
5 MyApp -[SaleViewController loadStores] (SaleViewController.m:378) 
6 MyApp -[SaleViewController viewDidLoad](SaleViewController.m:158) 
7 UIKit -[UIViewController loadViewIfRequired] + 63776 
8 UIKit -[UIViewController __viewWillAppear:] + 160944 
9 UIKit -[UINavigationController _startCustomTransition:] + 1766832 
10 UIKit -[UINavigationController _startDeferredTransitionIfNeeded:] + 818800 
11 UIKit -[UINavigationController __viewWillLayoutSubviews] + 817880 

ответ

1

Вот что авария выглядит, когда одна из ценностей, помещенных в коллекции равна нулю. Вы можете защититься от этой аварии с условным:

if ([GlobalData sharedGlobalData].latLong && selectedSaleId) { 
    queryParams = @{@"geo_location" : [GlobalData sharedGlobalData].latLong, @"sale_ids": selectedSaleId}; 
} 

Либо это, либо отладка задача состоит в том, чтобы выяснить, почему либо значение было нулевым.

Смежные вопросы