当我在 Swift 中打印一个数组时,它的类型(<__NSArrayM 0x60800024a1a0>)也随之而来。为啥?
Posted
技术标签:
【中文标题】当我在 Swift 中打印一个数组时,它的类型(<__NSArrayM 0x60800024a1a0>)也随之而来。为啥?【英文标题】:When i am printing an array in Swift its type(<__NSArrayM 0x60800024a1a0>) is also coming with it. Why?当我在 Swift 中打印一个数组时,它的类型(<__NSArrayM 0x60800024a1a0>)也随之而来。为什么? 【发布时间】:2016-10-06 12:07:25 【问题描述】:let doctorId: NSNumber = (self.selectedDoctor["id"] as? NSNumber)!
let referredTo:Dictionary = ["id":doctorId]
var postParams = [String : Any]()
postParams["referredTo"] = referredTo as AnyObject?
if self.mCase != nil
if let patient:Patient = self.mCase.patient
postParams["patient"] = ["id":patient.id!]
if let mCaseId:NSNumber = self.mCase.id
postParams["medicalCase"] = ["id":mCaseId]
postParams["completeCase"] = self.completeCase as AnyObject?
postParams["includeAttachments"] = self.includeAttachment as AnyObject?
let visitDict = NSMutableDictionary ()
//let array = NSMutableArray()
for dict in self.visitIds
let indx : Int! = (dict["visitID"] as? Int)!
visitDict["visit"] = ["id":indx!]
self.visitArray.add(visitDict)
if self.completeCase
for visit in self.mCase.visits
var id = (visit as AnyObject).id!
visitDict["visit"] = ["id": id!]
self.visitArray.add(visitDict)
postParams["referredVisits"] = self.visitArray
print(postParams["referredVisits"])
else
let patient:Dictionary = ["id":self.patientId]
postParams["patient"] = patient as AnyObject?
marseResponse = MARSRequest.SendRequest("POST", postParams: postParams as [String : AnyObject]?,getParams: nil, service:.postpatientrererral)
这就是我设置参数的方式
Error Xcode 在打印数组时显示<__NSArrayM >
,请指导我如何删除它。请参考下图。它在swift 2
中运行良好,但是当我将代码更新为swift 3
时,出现了这个问题。当我在POST
方法中发送参数时会发生这种情况。可能正因为如此,我无法解析数据。
Data Parsing这就是我解析数据的方式
【问题讨论】:
您只是在 POST 请求正文中发送数组的原始内部调试表示吗? 虽然我正在发送一个空数组,但它即将到来 您为什么不尝试将数据转换为像 JSON 这样的正确传输格式?您为什么要为此使用内部表示? 你能建议我怎么做吗?我是ios的新手。任何帮助对我来说都会很棒。也许我正在以适当的运输方式进行。我不确定 【参考方案1】:将您的数据转换为 JSON 怎么样?
例如使用标准类JSONSerialization
:
let array = [
[
"visit": [
"id": 2625
]
]
]
let data = try JSONSerialization.data(withJSONObject: array, options: [])
let string = String(data: data, encoding: .utf8)
然后发送string
值?
【讨论】:
我在关于解析数据的问题中添加了一张图片。你能看看它并suugest我吗 无法实现这一点。你能看看数据解析图像吗?在代码中,问题出现在 post[referredVisits]以上是关于当我在 Swift 中打印一个数组时,它的类型(<__NSArrayM 0x60800024a1a0>)也随之而来。为啥?的主要内容,如果未能解决你的问题,请参考以下文章