问题内容: TL; TR:如何获取使用facebook SDK 4.4在我的应用程序上登录的用户的电子邮件和名称 到目前为止,我已经设法使登录工作,现在我可以从应用程序中的任何位置获取当前访问令牌。 我如何配置登录视图控制器和Facebook登录按钮: 现在在我的主视图中,我可以像这样获取访问令牌: 我如何从登录的用户那里获得名称和电子邮件,使用较旧的SDK或使用Objective-C,我会看到许
问题内容: 有人可以解释为什么在这里需要关键字来编译代码吗? 据我了解,此关键字用于工作ObjC消息方法调度。但这不是一个实例。 关键字是否也启用消息分发?或不? 问题答案: 关键字是否也启用消息分发? 通常不行。通常,属性本身只是将给定的类成员暴露给Objective-C – Swift仍然可以使用表或静态分派自由地对其进行分派。您需要标记该成员,就像您希望Swift在调用它时使用消息分发一样。
问题内容: 我有一个必须符合且包含值数组的对象。我怎么能用/对其进行编码/解码?额外的问题:如何编码最紧凑?(它必须进入保存的Game Center状态数据,其大小是有限的。) 理想情况下,我只想写一个等于数组大小的an ,然后写乘a的64位乘以类似的方式读取它。我可以这样做吗? 不起作用。 问题答案: 这是将数组编码为字节数组的可能解决方案。它的灵感来自于如何使用NSCoding序列化C数组?。
问题内容: 我正在试图做的是传递给函数,然后使用传递通过设置将返回。 我在中创建闭包时遇到了问题, 它引发了编译器错误/崩溃: 在斯威夫特,是根据文档应该包含的对象,就像Objective-C的版本。 这是我当前的代码: 编辑:似乎错误与不被视为数组有关。现在编译,但是我想集的时候得到什么,但无内。我检查了传递的,它们是有效的。 编辑2:打印后,我可以确认它返回了数据。但是仍然返回nil。 问题答
问题内容: 我的Realm对象中有此属性 我有一个可以过滤掉标签的视图控制器。 所以我有几个按钮来切换过滤器。我所做的是为每个按钮的过滤器创建一个数组 因此,如果我单击按钮A,它将把“ A”追加到filteredList数组,如果我单击按钮B,它将把“ B”追加到filteredList数组,依此类推 目前这是我的过滤谓词 但是,上述谓词给我的结果是错误的,因为如果我想过滤属性为“ A,B,C,D
问题内容: 我真的是Swift的新手,我刚刚读到类是通过引用传递的,并且复制了数组/字符串等。 通过引用进行传递是否与在Objective-C或Java中通过“ a”引用进行传递的方式相同,还是通过引用进行正确传递? 问题答案: Swift中的事物类型 规则是: 类实例是 引用类型 (即, 您 对类实例的引用实际上是一个 指针 ) 函数是参考类型 其他一切都是 价值类型 ; “其他所有内容”仅表示
问题内容: 我有一个应用程序,该应用程序在视图的下半部分具有文本字段。这意味着当我输入文本字段时,键盘将覆盖文本字段。 如何在键入时向上移动视图,以便可以看到正在键入的内容,然后在键盘消失时将其向下移动到原始位置? 我到处都看过,但是所有解决方案似乎都在Obj-C中,我还不能完全转换。 任何帮助将不胜感激。 问题答案: 这是一个解决方案,无需处理从一个textField到另一个的切换: 要解决此问
问题内容: 我有一个像这样的数组: 我想从该数组中获取3个随机元素。我来自C#,但是我不确定该从哪里开始。我想我应该先对数组进行随机排序,然后再从中选择前3个项目? 我尝试使用以下扩展名将其改组: 但随后在“ shuffle()”的位置说“’()’不可转换为’[Int]’”。 为了挑选一些元素,我使用: 到目前为止看起来还不错。 如何洗牌?还是有人对此有更好/更优雅的解决方案? 问题答案: Xco
问题内容: 我有一个工作循环来为一些工作数据点设置标题和字幕元素的注释。我想要在相同的循环结构中执行的操作是将图钉颜色设置为“紫色”,而不是默认值。我不知道要怎么做才能进入我的MapView来相应地设置图钉。 我的工作循环和某些尝试… 问题答案: 您需要实现委托方法并从那里返回一个(或子类)。 就像在Objective-C中一样-基础SDK的工作方式相同。 从添加注释的循环中删除创建的内容,并改为
问题内容: 有没有一种更干净的方法来获取Swift中数组的最后两项?通常,我尝试避免使用这种方法,因为与索引一一对应很容易。(在此示例中,使用Swift 1.2。) 我希望有一些更接近Python的便利。 问题答案: 使用Swift 5时,您可以根据需要选择以下模式之一,以便从数组的最后两个元素中获取新的数组。 #1。使用数组的 使用Swift,符合协议的对象具有方法。数组具有以下声明: 返回一个
问题内容: 更新到后,我的项目中会显示很多警告。 ’++’已过时:它将在 Swift 3中* 删除 * 有解决此警告的想法吗?和将来会被弃用的任何原因是什么? 问题答案: 从Swift 2.2开始,您应该使用或代替。 在查看了Swift的发展之后,有一些删除这些运算符的原因: 这些运算符增加了学习Swift作为第一门编程语言的负担-或在其他情况下您还不了解其他语言的运算符。 它们的表达优势极小-x
本文向大家介绍深入解析Swift中switch语句对case的数据类型匹配的支持,包括了深入解析Swift中switch语句对case的数据类型匹配的支持的使用技巧和注意事项,需要的朋友参考一下 Swift可以对switch中不同数据类型的值作匹配判断: 这里面会根据thing的值进行匹配,到对应的case当中。 今天突然想到一个问题,让我觉得有必要总结一下switch语句。我们知道swift中的
问题内容: Swift 1.1包含〜>运算符的声明: 这在Swift中有什么用?它似乎已声明,但未定义任何可利用它的函数。其他开发人员已将其用于响应模式和封送队列之间的封包,但我想知道为什么在标准框架中对其进行了定义。我猜想它可以“保留”一个自定义运算符供开发人员使用,因为它具有最高的优先级。 问题答案: 由于Swift是开源的,我们可以看到将stdlib 包括在内的实际原因:作为Swift 1.
问题内容: 我在Swift 2.3中编写了以下扩展名: 但是,事实证明,Swift 3.0没有功能。相反,它为我提供了此方法的以下语法: 问题是我不知道块中应包含什么。请帮忙进行迁移吗? 问题答案: Swift 4更新 在夫特4,由于能力具有对相关联的类型的子句,现在强制执行的类型是相同的类型的。 因此,这意味着我们只能说: 迅捷3 Swift 3中的协议仍然有一个方法,如果序列是元素,则该方法可
问题内容: 在Swift中提取字符串中最后一个单词的方式是什么?因此,如果我有“ Lorem ipsum dolor坐在amet”,请返回“ amet”。最有效的方法是什么? 问题答案: 您可以使用String方法enumerateSubstringsInRange。第一个参数只是传递您的字符串和选项。只需将每个子字符串附加到结果集合中并返回即可。 Swift 5或更高版本 (对于较早的Swift