Невозможно передать значение другому классу - PullRequest
0 голосов
/ 11 июля 2020

Я хочу добавить определенный «идентификатор» к API. Это начальная часть того, как я выполняю вызов API в моем viewController ..

func myAPICall() {
     APIHelper(API: WebServices.getAllOrganizations as NSString, json: bodyStr as NSString, 
      methodType: Constants.Get_Method as NSString....) 
}
           

Теперь WebServices.getAllOrganizations определен в другом месте, в таком быстром файле ...

public class WebServices {

static let getAllOrganizations: String = "organization/getAllOrganizationDetails

}
       
    
  • МОЯ ПОПЫТКА ПЕРЕЙТИ ID В SWIFT-ФАЙЛ:

Чтобы передать значение, я назначил его глобальной переменной, вот так ...

ArrayData.shared.plantIDForOrganization = Int("\(dic["id"]!)")!

И, кроме того, я изменил свой быстрый файл на этот ...

public class WebServices {

static let getAllOrganizations: String = "organization/getAllOrganizationDetails/\(ArrayData.shared.plantIDForOrganization)"                                  

}

Но при этом значение не передается в API должным образом. В API передается 0 вместо фактического id числа.

Что может быть более эффективным способом передачи значения из моего контроллера представления в быстрый файл? ..

Ответы [ 2 ]

1 голос
/ 11 июля 2020

Когда инициализируется ArrayData.shared.plantIDForOrganization и когда WebServices.getAllOganizations получает свое значение? Как только последнее установлено, оно не будет «реагировать» на изменения в plantIDForOrganization.

Я предлагаю вам изменить это на вычисляемое свойство, например:

public class WebServices {

    static var getAllOrganizations: String {
        return "organization/getAllOrganizationDetails/\(ArrayData.shared.plantIDForOrganization)"
    }
}

Кроме того, попробуйте исключить такое принудительное развертывание из вашего кода.

0 голосов
/ 11 июля 2020

Если вам нужно передать параметр, используйте вместо него метод static:

public class WebServices {
    static func getAllOrganizations(id: String) -> String { "organization/getAllOrganizationDetails/\(id)" }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...