首页 > 解决方案 > 无法在 Facebook shareDialog 中将“ViewController.Type”转换为“UIViewController”

问题描述

我认为这在 Facebook swift 文档中已经过时,并且会出现错误。viewcontroller我修复了第一行错误,但它给出了错误

我正面临这个错误

无法将“ViewController.Type”类型的值转换为预期的参数类型“UIViewController”

请有人修复。

import FacebookShare

    let content = LinkShareContent(url: 
    NSURL("https://developers.facebook.com")) //Fixed :- let content = LinkShareContent(url: URL(string: "https://developers.facebook.com")!)


try ShareDialog.show(from: myViewController, content: content)  //Error :- Cannot convert value of type 'ViewController.Type' to expected argument type 'UIViewController'

标签: swift

解决方案


您似乎已经通过了而不是类的实例。你需要传递你的实例myViewController(当然应该是一个子类UIViewController

try ShareDialog.show(from: myViewController(), content: content)

注意:您应该使用 UpperCamelCase 作为类名 - MyViewController。目前,它看起来像是一个实例变量。来自API 设计指南

遵循案例约定。类型和协议的名称是 UpperCamelCase。其他一切都是lowerCamelCase。


推荐阅读