我无法理解UIActivityViewController
调用后如何执行操作.例如,当我使用以下代码保存图像时:
let image = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
let activity = UIActivityViewController(activityItems: [image], applicationActivities: nil)
presentViewController(activity, animated: true, completion: nil)
Run Code Online (Sandbox Code Playgroud)
用户收到新窗口,可以在某处保存图像.成功保存图像后,我想执行一些操作(例如跳转到根视图控制器).但我无法弄清楚如何追踪这UIActivityViewController
是关闭的.如果我在这个块之后编写代码,没有任何反应,正如我所理解的那样,因为这个代码是在活动VC中实现的,而不是在原始VC中实现的.
我认为这viewWillDisappear
对我有帮助,但是它跟踪了原来的VC,我称之为活动VC,我无法弄清楚如何跟踪活动VC.与此同时,即使我有能力追踪此事件,仍然存在一个问题:除了取消之外,我怎么能有所不同?
我正在用Parse和Facebook SDK编写应用程序.我已经成功实现了Parse登录和Facebook登录,现在从Facebook检索数据时遇到了一些麻烦.我使用以下代码来获取数据:
let request = FBSDKGraphRequest(graphPath:"me", parameters:nil)
request.startWithCompletionHandler {
(connection, result, error) in
if error != nil {
print (error)
} else if let userData = result as? NSDictionary {
print (userData["name"] as? String)
print (userData["first_name"] as? String)
print (userData["last_name"] as? String)
print (userData["email"] as? String)
print (userData["username"] as? String)
}
}
Run Code Online (Sandbox Code Playgroud)
结果我得到了这个:
Optional("Name Surname")
nil
nil
nil
nil
Run Code Online (Sandbox Code Playgroud)
第一个字符串表示数据已成功接收且全名不为空,但所有剩余字符串均为空.同时我检查了我的Facebook个人资料,我在设置中有单独的姓名和姓氏,我的电子邮件已经过验证.对于我设置的读取权限["public_profile", "email"]
.这里有什么问题,为什么我对所有这些字符串都没有?