Как избежать утечек памяти из-за AFNetworking в Swift - PullRequest
1 голос
/ 15 октября 2019

Я использую AFNetworking в моем проекте. Когда я пытаюсь найти утечки памяти, используя инструменты, это показывает AFNetworking как причины утечки памяти. Я создаю модельный класс, и в этом классе я вызываю AFNetworking. Вызов API выполняется из Viewcontroller в класс модели. Пожалуйста, помогите мне, как решить эту проблему.

Мой шаблон кодирования добавляется ниже.

Class myViewController:UIViewcontroller{

 override func viewDidLoad() {
        super.viewDidLoad()
     //apiCall
     myModel.apiCallFuncT("value"){ (success) in

       }

     }
}



Class myModel{

var somevariable:String

class apiCallFuncT(parameters:string,completionHandler:@escaping(_ success:Bool)->Void){

//here Im calling the AFNetworking class. Im adding the call below.

 ServiceManager.getDataFromNewServiceSolOne(serviceName: URL  + "\(apiName)", parameters: param , success: { (result) in

         completion(true)


        })
}



//This is the serviceManger I'm calling from all models I have for api Calls.
class ServiceManager: NSObject {

    static var sharedManager = AFHTTPSessionManager()

    class func getDataFromNewServiceSolOne(serviceName: String, parameters : [String : String]?, success:@escaping (_ result: AnyObject) -> Void, failure :@escaping (_ error : NSError) -> Void) {

        let manager = AFHTTPSessionManager(baseURL: NSURL(string: URL)! as URL)
        manager.responseSerializer.acceptableContentTypes = ["text/html", "application/json"]
        manager.post(serviceName, parameters: parameters, progress: { (progress) in
        }, success: { (task, result) in
            success(result as AnyObject)
        }) { (task, error) in
            failure(error as NSError)
        }
    }
}
...