2015-06-08 6 views
-1

В настоящее время я разрабатываю приложение, которое запрашивает данные из веб-службы, и один из них извлекает данные, я вызываю метод создания некоторой «swype» -карты, такой как tinder.Метод вызова ViewDidload Swift

Проблема заключается в том, что я не успех называть мой метод в viewDidload, это мой код:

if(success == 1) { 
    NSLog("Recherche OK"); 
    //Call the swype method  
} 

Это мой метод:

func fetchData(int: Int, completion: (()->())?) { 



    let newCard = Model() 
    //ttp://thecatapi.com/api/images/get?format=src&type=png 



    if let url = NSURL(string: "http://test.com/api/images/get?format=src&type=png") { 
     if let data = NSData(contentsOfURL: url) { 
      newCard.image = UIImage(data: data) 
      newCard.content = "test" 
      newCard.desc = "test" 
      self.data.append(newCard) 
      NSLog("fetch new data") 
     } 

У вас есть идея?

+0

Это совершенно непонятно, что это связано с 'viewDidLoad'. Невозможно расшифровать здесь то, что должно происходить, и что на самом деле происходит, и почему вы думаете, что должно произойти, должно происходить. – nhgrif

+0

спасибо за -1, я просто хочу вызвать свой метод в viewdidload, потому что в тот момент, когда представление открыто, я хочу создать свои карты, но только если мой json вернет 1 для ключа «succes». – f1rstsurf

+0

напишите этот код в viewwilappear также –

ответ

0

Подробнее о получении NSData из сетевого вызова. Ниже приведена документация Apple.

Не используйте этот синхронный метод для запроса сетевых URL-адресов. Для сетевых адресов этот метод может блокировать текущий поток для десятков секунд в медленной сети, что приводит к плохой работе с пользователем, а в iOS может привести к прекращению вашего приложения.

Вместо этого для URL-адресов, отличных от файлов, рассмотрите возможность использования метода dataTaskWithURL: completeHandler: метод класса NSSession. Подробнее см. В руководстве по программированию URL-адреса URL-адреса .

Также я заметил, что URL-адрес, который вы показываете, перенаправляет, так что, возможно, это проблема. Вместо того, чтобы загружать его в UIImage, вы можете создать UIWebview и показать изображение там.

Вы можете найти Swift связанную помощь в отношении, что в answer here

+1

Благодарим вас за помощь – f1rstsurf

Смежные вопросы