Не удается преобразовать значение типа '[String]' в ожидаемый тип аргумента '[CDYelpPriceTier]?' - PullRequest
0 голосов
/ 15 декабря 2018

Я работаю над приложением, которое требует от меня звонка от визга.В вызове yelp я хочу заменить [.oneDollarSign, .twoDollarSigns] with "pricestring".
. Я получаю следующую ошибку при изменении кода на priceTiers: pricestring

Невозможно преобразовать значение типа '[String]'к ожидаемому типу аргумента '[CDYelpPriceTier]?'

//Array declaration  
         var pricestring = [String]()

         //Set pricestring
          pricestring.append(".oneDollarSign, .twoDollarSigns")
        //Yelp Call
            yelpAPIClient.searchBusinesses(byTerm: "Food",
                 ....

            priceTiers: [.oneDollarSign, .twoDollarSigns], <----

            attributes: nil)

Из документации CDYelpFusionKit:

 price: (Optional) The pricing levels to filter the search result with. 
 Use the **CDYelpPriceTier** enum to get the list of supported pricing levels. 
 `price` can be an array of pricing levels (e.g. [.oneDollarSign, .twoDollarSigns, .threeDollarSigns] will filter the results to show businesses that are listed as $, $$, or $$$).

Что мне нужно сделать, чтобы иметь возможность заменить [.oneDollarSign, .twoDollarSigns] с переменной?

1 Ответ

0 голосов
/ 15 декабря 2018

Объявите

//Array declaration
var priceLevels = [CDYelpPriceTier]()

Установите

//Set pricestring
priceLevels.append(contentsOf: [.oneDollarSign, .twoDollarSigns])

и используйте его

, ... priceTiers: priceLevels, ...
...