有什么方法可以扩展外部类并重写方法?
func sendStoreCalls(parameters: Dictionary<Int, Dictionary<String, Any>>) {
var params: Parameters = [:]
var par: Parameters = [:]
var pa: [String:Any] = [:]
var i = 0
for (_, param) in parameters {
if param["isSend"] as! Int == 0 {
par["duration"] = param["callTime"]
par["sms"] = "0"
let callDate: String = param["callDate"] as! String
par["type"] = param["callType"]
par["call_date"] = callDate.replacingOccurrences(of: " ", with: "+", options: .literal, range: nil)
if param["callNumber"] as! String != "" {
par["number"] = param["callNumber"]
}
params[String(i)] = par
i += 1
}
}
pa["calls"] = params
let token: String = SharedPreferences.getPrefToken()!
let bufferedParams = pa.queryParameters
let transformedPar = bufferedParams.replacingOccurrences(of: "%5B", with: "%7B", options: .literal, range: nil).replacingOccurrences(of: "%5D", with: "%7D", options: .literal, range: nil)
let trn = transformedPar.replacingOccurrences(of: "%C2A0", with: "", options: .literal, range: nil).replacingOccurrences(of: "%20", with: "", options: .literal, range: nil)
let url = "https://url.com?api_token=\(token)"
Alamofire.request(url, method: .post, encoding: JSONStringArrayEncoding.init(string: trn))
.responseJSON {
response in
print(NSString(data: (response.request?.httpBody)!, encoding: String.Encoding.utf8.rawValue)!)
switch response.result {
case .success(let value):
let json = JSON(value)
print(json["message"].rawString()!)
case .failure(let error):
if let data = response.data {
print("ERROR!!!")
print(String(data: data, encoding: String.Encoding.utf8)!)
}
print(error)
}
}
}
答案 0 :(得分:1)
您只能覆盖同一外部类中的私有类。例如
class a {
public String demofield;
private class democlass {
public demomethod() {
}
}
private class demosubclass extends democlass {
@Override
public demomethod() {
}
}
使用private
可以防止其他任何类对其进行访问。