3

Я пытался устранить это предупреждение, но не имел успеха. Начиная с обновления до swift3, я получаю предупреждение в своем обработчике завершения запроса на Facebook.FBSDKRequestConnection warning swift3

Сообщение об ошибке конкретно: «Выражение типа« FBSDKGraphRequestConnection? »Не используется».

graphRequest?.start(completionHandler: { (connection, result, error) in 

      if error != nil { 

       //do something with error 

      } else if result != nil { 

       //do something with result 
      } 

     }) 

Я пытался добавить (в обработчик завершения) строк кода, как показано ниже, чтобы увидеть, если предупреждение исчезнет, ​​но предупреждение повторяется.

connection.start() 

connection.timeout = 30 

if connection != nil { 


      } 

Обработчик завершения работы Я отлично справился с задачей swift2 и не дал мне такого предупреждения. Не правильно ли я использую обработчик завершения?

ответ

13

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

  1. Initialize FBSDKGraphRequest
  2. Initialize FBSDKGraphRequestConnection
  3. Добавить запрос Запрос на подключение
  4. соединение Пуск.

так,

let graphRequest = FBSDKGraphRequest(graphPath: "me", parameters: ["fields" : "email"]) 
     let connection = FBSDKGraphRequestConnection() 
     connection.add(graphRequest, completionHandler: { (connection, result, error) in 

      if error != nil { 

       //do something with error 

      } else { 

       //do something with result 

      } 

     }) 

     connection.start() 

Выше, кажется, не предпочтительнее graphRequest.start(), никаких предупреждений или ошибок.

+0

Спасибо, блин так раздражает. – Makalele

+0

отлично работает, спасибо за обмен! – cubycode

2

Вы можете просто удалить его, как

В быстром 3

_ = request?.start { (connection, result, error) in  
    } 

В быстром 2.x

let _ = request?.start { (connection, result, error) in  
     }