我正在尝试创建一个简单的Swift 3模板,其中包含一个自定义函数,用于在Xcode应用程序中使用postfix一元运算符计算百分比.这似乎是一个重复的问题,因为我之前的帖子中已接受的答案已经显示了如何在Playground中执行此操作.但我后来发现自定义函数在Xcode项目中的工作方式不同.
在下面的模板中,我宣布了’operator' at file scope(或者至少我相信我做过).但是当声明后缀函数时,Xcode建议这样做
Operator '%' declared in type 'ViewController' must be 'static'
Run Code Online (Sandbox Code Playgroud)
并提供一个修复它插入static.随着static然后插入Xcode的建议
Member operator '%' must have at least one argument of type 'ViewController’.
Run Code Online (Sandbox Code Playgroud)
任何人都可以解释为什么%函数需要static在Xcode项目中以及最后一条错误消息在同一行的上下文中意味着什么(见下文)?谢谢
草稿模板
import UIKit
postfix operator %
class ViewController: UIViewController {
var percentage = Double()
override func viewDidLoad() {
super.viewDidLoad()
percentage = 25%
print(percentage)
}
static postfix func % (percentage: Int) -> Double { …Run Code Online (Sandbox Code Playgroud)