Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 类型';任何';在Facebook SDK中没有订阅成员_Ios_Swift_Facebook_Facebook Sdk 4.x - Fatal编程技术网

Ios 类型';任何';在Facebook SDK中没有订阅成员

Ios 类型';任何';在Facebook SDK中没有订阅成员,ios,swift,facebook,facebook-sdk-4.x,Ios,Swift,Facebook,Facebook Sdk 4.x,我在我的应用程序中集成了Facebook登录SDK,对此我是新手。我实现了它,但现在我想收到电子邮件。因此,在本教程之后,我创建了与所展示的教程相同的函数 以下是函数: func fetchProfile() { print("Fetch Profile") let parameters: [String : Any] = ["fields" : "email, first_name, last_name, picture.type(large)"] FBSDKGra

我在我的应用程序中集成了Facebook登录SDK,对此我是新手。我实现了它,但现在我想收到电子邮件。因此,在本教程之后,我创建了与所展示的教程相同的函数

以下是函数:

func fetchProfile()
{
    print("Fetch Profile")

    let parameters: [String : Any] = ["fields" : "email, first_name, last_name, picture.type(large)"]

    FBSDKGraphRequest(graphPath: "me", parameters: parameters).start(completionHandler: {

        (connection, result, error) -> Void in

        if error != nil {

            print(error!)

            return
        }

        if let email = result["email"] as? String {

            print(email)

        }   
    }
}

所以,程序员在那里使用的是Swift 3,而我在这里使用的是Swift 4,所以它会产生任何问题吗?而且,如果编写了let email=,则说明
Type“Any”没有下标成员。如何解决此问题?

将结果强制转换为
[字符串:任意]

if let resultDict = result as? [String:Any]{
   if let email = resultDict["email"] as? String  {
            print(email)
        }
} 

将结果强制转换为带有if的
[String:Any]
,您是否搜索了“Type'Any'没有下标成员”?因为它很简单,而且有太多的问题<代码>结果
是一个
任何
对象。为什么你要在上面做
[“email”]
(即订阅)。没有人说编译器的
结果
实际上是一本
字典
。换句话说,编译器告诉您:对于这种对象,该方法(或方法)不存在。因此,如果让,请使用一个
来投射它。