【问题标题】:how to access other class in same swift framwork?如何在同一个 swift 框架中访问其他类?
【发布时间】:2014-12-30 12:13:31
【问题描述】:

在我的 swift 框架中,我定义了两个类,分别调用 A 和 B,但它是为错误而构建的。

 // in a.swift
 public class A : NSObject {
    public var count
    public override init() {
          count = 10
    }
 }

 // in b.swift
 public class B : NSObject {
    public func getACount(a:A) {     // error : use undeclare type : A
        println(a.count)
    }
    public override init() {

    }
 }

为什么不能输出这个错误?

【问题讨论】:

  • 您必须在 B 类中创建一个类型为 A 的变量,并存储对它的引用。

标签: ios class swift public


【解决方案1】:

您需要在A类中将var count的类型设置为Int

这是你想要的吗?

public class A : NSObject {
    public var count: Int
    public override init() {
        count = 10
        super.init()
    }
}

public class B : NSObject {
    public func getACount(a:A) {     // error : use undeclare type : A
        println(a.count)
    }
}


var b = B()
var a = A()
var aa = A()
aa.count = 123


b.getACount(a) // prints 10
b.getACount(aa) // prints 123

此外,如果您覆盖 init(),请确保调用 super.init() 以确保父类初始化。

【讨论】:

  • 我只搭建了这个框架,它可以搭建成功,但是当我用其他的时候,它再次显示“使用未声明类型:A”。
  • @MJ000111 你能更具体一点,你做了什么吗?
猜你喜欢
  • 2015-12-18
  • 1970-01-01
  • 2010-12-11
  • 1970-01-01
  • 1970-01-01
  • 2018-12-22
  • 1970-01-01
  • 1970-01-01
  • 2013-02-24
相关资源
最近更新 更多