Не удалось преобразовать значение типа «Swift._SwiftDeferredNSDictionary <Swift.String, Swift.Double>» (0x11b1b84f8) в «NSMutableDictionary» - PullRequest
0 голосов
/ 28 июня 2018

Я вызываю метод, который написан в Цели C,

-(void)fetchWithDetails:(NSMutableDictionary*)details
                  success:(void (^)(id response))success
                  failure:(void (^)(NSError *error,NSString *userMessage))failure;

В Swift я называю целевой метод C как:

ULWebServiceStoreUtility.fetch(withDetails: parameters as! NSMutableDictionary , success: { (response) in ....}, failure: { error, userMessage in ...})

Но я получаю ошибку сбоя: не удалось преобразовать значение типа «Swift._SwiftDeferredNSDictionary» (0x11b1b84f8) в «NSMutableDictionary»

Так кто-нибудь может подсказать мне, как передать NSMutableDictionary в Swift?

1 Ответ

0 голосов
/ 28 июня 2018

NSDictionary не может быть напрямую преобразовано в NSMutableDictionary. Типы разные.

Возможно, вам нужно что-то вроде этого:

fetch(withDetails: NSMutableDictionary(dictionary: parameters), ...)
...