Есть ли способ вернуть non void в функции void в UIContextMenuInteraction?

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

Что мне удалось сделать? Сделайте два взаимодействия на одной кнопке в надежде зафиксировать как проверку базы данных, так и вернуть изображение.

Сработало: на симуляторе всегда. Иногда по телефону.

Где в приведенном ниже коде находятся void и non void? То, что я на самом деле хочу сделать, return ImagePreviewController часть внутри if ab as! Int>0, а не использовать логическое значение и отдельный возврат

      contextMenuInteraction(_ interaction: UIContextMenuInteraction, conf    let r1 = Database.database().reference().child("switch").child(self.postID).child("switch")
   r1.observeSingleEvent(of:.value,  with: { [self]snapshot in
        if snapshot.exists() {
           print("Got data \(snapshot.value!)") //will print true or false
           let ab = snapshot.value!
           if ab as! Int>0 {
            randy = true
///here a Bool is set as true
            print("true1")

           } else {

            print("true2")
//// here a different Bool is set True
            Francis = true
           }
       }
       else {
           print("No data available")
       }
  
   })
        
       if self.randy == true{
          // put cc stuff here
            let image3 = UIImage(named:"ringy.png")

            if let unwrappedImage1 = image3 {
                return ImagePreviewController(image:unwrappedImage1)
                
            }
            else {
                return nil
            }

        }
        else if self.francis == true {
          // put cc stuff here
            let image3 = UIImage(named:"green.png")

            if let unwrappedImage1 = image3 {
                return ImagePreviewController(image:unwrappedImage1)
                
            }
            else {
                return nil
            }

        }

        else {
                      return nil
                  }
            })
        
 
            }

На английском языке, что делает код в 2 {} частях:

Часть 1 Выполните вызов базы данных для целого числа. Если оно больше 0, логическое значение Randy установлено в True, если оно не больше 0, логическое Francis установлено в True.

Часть 2 Если Randy - True, вернуть InmagePreviewController как Image ringy.pgn, если Francis - True, вернуть InmagePreviewController как Image green.pgn

Вместо того, чтобы делать это двумя частями, мне нужен InmagePreviewController в вызове базы данных.

0 ответов

Другие вопросы по тегам