self.mapper.identityIdsForQuickbloxUserIds(userIDs.map{($0 as! NSNumber).unsignedLongValue}, completion: { identityIdsMapping, error in
無法轉換調用結果類型'_?'預期型 '[UINT]'無法轉換調用結果類型'_?'到預期類型'[UInt]'
userIDs
是NSSet
,這裏是一個函數:
func identityIdsForQuickbloxUserIds(userIds:[UInt], completion:(identityIdsMapping:[UInt: String]?, error:NSError?) -> Void)
如何將它轉換的正確方法?
這是回到我那一套外部函數:正如你看到的,我們得到
- (void)allDialogsWithPageLimit:(NSUInteger)limit
extendedRequest:(QB_NULLABLE NSDictionary *)extendedRequest
iterationBlock:(void(^QB_NULLABLE_S)(QBResponse *QB_NONNULL_S response, NSArray QB_GENERIC(QBChatDialog *) *QB_NULLABLE_S dialogObjects, NSSet QB_GENERIC(NSNumber *) * QB_NULLABLE_S dialogsUsersIDs, BOOL * QB_NONNULL_S stop))iterationBlock
completion:(void(^QB_NULLABLE_S)(QBResponse * QB_NONNULL_S response))completion;
說的NSSet從這裏:
NSSet QB_GENERIC(NSNumber *) * QB_NULLABLE_S dialogsUsersIDs
該方法是從QuickBlox SDK
我有試過這個「let userIds = NSSet(objects:1,2,3).map {($ 0 as! NSNumber).unsignedLongValue}「並且工作得很好。你確定你沒有試圖映射一個對象嗎?如果是這樣的話$ 0將不起作用。 – Brduca
問題在你發佈的內容中不清楚,需要更多細節。也許隔離地圖方法來確認問題發生在那裏。並且仔細檢查你的NSSet中的數據是否可以被類型轉換爲NSNumber,我懷疑問題出在那裏。 –