【问题标题】:Using FXForms in Swift Project updated to iOS sdk 8.3在 Swift 项目中使用 FXForms 更新到 iOS sdk 8.3
【发布时间】:2015-04-17 04:21:33
【问题描述】:

这是我关于堆栈溢出的第一个问题,如果我遗漏了任何行为举止,请原谅.....

我的 Swift 应用程序使用 FXForms Cocoa Pod

这是我在 Swift 应用中使用的 OBJ-C 框架。在今天更新 Xcode 之前,一切都编译得很好。现在我收到此错误:

“方法'fields()'提供的Objective-C方法'fields'与协议'FXForm'e中的可选要求方法'fields()'冲突

有什么想法吗?乐于提供源码等。

感谢您的帮助,

ztb

【问题讨论】:

    标签: ios objective-c swift cocoapods fxforms


    【解决方案1】:

    这很可能是由 Swift 语法的更新引起的。如果您使用 NSDictionary 并替换为 [NSObject: AnyObject],请查看代码。 NSString 相同,替换为 String。在大多数情况下,这将解决此问题。

    您可以尝试在 Xcode 中运行 Edit - Convert - To latest Swift Syntax。我在我的项目上做了,没有做任何改变。不过值得一试!

    看看这篇处理类似错误的帖子:

    Objective-C method conflicts with optional requirement method Swift

    【讨论】:

    • 太棒了!很高兴听到您解决了这个问题!
    【解决方案2】:

    你可以在 swift 1.2 中试试这个:

    func fields() -> [AnyObject]! {
        return fieldsArr as [AnyObject]
    }
    

    【讨论】:

    • 谢谢。这正是我所需要的。其他解决方案欺骗了编译器,但我从 FXForms 字段数组中丢失了一些格式。这非常有效。
    【解决方案3】:

    替换这个:

    func fields() -> NSArray {
    
        return [
    

    用这个:

    func fields() -> [AnyObject}! {
    
            return [
    

    成功了。

    【讨论】:

      猜你喜欢
      • 2015-06-28
      • 2018-10-23
      • 2015-01-29
      • 1970-01-01
      • 2017-02-20
      • 2015-03-14
      • 2015-12-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多