【问题标题】:Can't figure out Value of Type "ViewController' has no member 'averageIsAbove'无法弄清楚“ViewController”类型的值没有成员“averageIsAbove”
【发布时间】:2017-01-16 23:47:29
【问题描述】:

我是 Swift 的新手,我似乎不知道自己做错了什么。

我的测试文件如下 - “ViewController”类型的值没有成员“averageIsAbove”

func testAverageIsAbove75(a: Double, b: Double, c: Double) {
    XCTAssertFalse(testVC.averageIsAbove(a:76, b:75, c:71.9), "Average is below 75, it should return false."  )

MViewController 文件有这个功能:

func averageIsAbove75(a: Double, b: Double, c: Double) -> Bool{
    if (a * b * c) / 3 > 75 {
       return true
    }
    else {
        return false
    }
} 

【问题讨论】:

  • 你创建了一个testVC实例还是你的类叫testVC?
  • 我没有创建 testVC,它是我们实验室的一部分,我已经坚持了好几天了。
  • 'MViewController' 是实际名称,还是拼写错误?您是否使用 @testable 将 ViewController 类导入到测试中?
  • 'MViewController' 是错字还是名字?如果是名字,那么不用testVC.averageIsAbove75,需要把testVC换成MViewController。

标签: swift viewcontroller


【解决方案1】:

首先,您需要让每个人都可以使用该方法。在关键字 func 之前添加 class 以在您的 ViewController 类中执行此操作。

接下来,您调用的是testAverageIsAbove,但您的函数名为averageIsAbove75。尝试更改以下内容:

 XCTAssertFalse(testVC.averageIsAbove(a:76, b:75, c:71.9), "Average is below 75, it should return false."  ) 

到这里:

XCTAssertFalse(testVC.averageIsAbove75(a:76, b:75, c:71.9), "Average is below 75, it should return false."  )

【讨论】:

  • 我试过了,还是不行。仍然显示 -“ViewController”类型的值没有成员“averageIsAbove”
  • 使函数成为公共函数
  • 很抱歉,我不太确定该怎么做,请您解释一下或给我看好吗?
  • 更新答案。
  • 具有averageIsAboive75 功能的视图控制器的类名是什么?是 MViewController 吗?
【解决方案2】:
class ViewController1 : UIViewController {
   func testAverageIsAbove75(a: Double, b: Double, c: Double) {
       XCTAssertFalse(ViewController2.averageIsAbove75(a:76, b:75, c:71.9), "Average is below 75, it should return false."  )
   }
}


class ViewController2 {
   class func averageIsAbove75(a: Double, b: Double, c: Double) -> Bool{
        if (a * b * c) / 3 > 75 {
           return true
        }
   else {
          return false
        }
    } 
}

【讨论】:

  • 或者删除func之前的类,并首先在ViewController1中创建一个ViewController2的实例,比如let testVC = ViewController2(),但是你必须使用init从某个类中继承ViewController2
猜你喜欢
  • 1970-01-01
  • 2019-02-08
  • 2022-01-18
  • 1970-01-01
  • 2013-05-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多