当我在 Swift 中打印数组时,它的类型 (<__NSArrayM 0x60800024a1a0>) 也随之而来。为什么?
When i am printing an array in Swift its type(<__NSArrayM 0x60800024a1a0>) is also coming with it. Why?
{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 这就是我解析数据的方式
如何将您的数据转换为 JSON?
例如,使用标准 class JSONSerialization
:
let array = [
[
"visit": [
"id": 2625
]
]
]
let data = try JSONSerialization.data(withJSONObject: array, options: [])
let string = String(data: data, encoding: .utf8)
然后发送string
值?
{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 这就是我解析数据的方式
如何将您的数据转换为 JSON?
例如,使用标准 class JSONSerialization
:
let array = [
[
"visit": [
"id": 2625
]
]
]
let data = try JSONSerialization.data(withJSONObject: array, options: [])
let string = String(data: data, encoding: .utf8)
然后发送string
值?