我将%令牌声明为后置修复操作符,以便计算百分比但Xcode报告
`% is not a postfix unary operator` 
我的测试代码下面是基于发现的例子在这里.我还检查了Apple的最新文档,其中包含了操作员声明的语法,但它没有解释为什么Xcode会抱怨.
如何计算使用百分比%?假设我让它工作,那么我将如何恢复使用%同一类中其他地方的另一个函数的模运算?
有人可以根据我在Playground中的代码提供一个工作示例吗?
1.%含义百分比
postfix operator %
var percentage = 25%
postfix func % (percentage: Int) -> Double {
    return (Double(percentage) / 100)
}
2.%表示余数
let number = 11
let divisor = 7
print(number % divisor)
如果在文件范围声明了自定义函数的后缀运算符 - 就像我在上一篇文章中那样 - 必须有一种方法可以从同一个Xcode项目中的另一个Swift 3文件访问这样的函数.
Apple关于自定义函数的文档声明" 新运算符在全局级别声明...... "因此我可以假设Swift 3的创建者认为对全局访问自定义函数很重要.但是对于Swift的新手来说,如何做到这一点并不是不言而喻的.
基于我之前接受的答案中的代码(这里)我需要做什么才能从项目中其他地方的另一个文件访问自定义函数?
最终编辑
解决方案非常简单(参见接受的答案),希望其他Swift新手也可能觉得它很有用.
一个postfix operator %全局声明的同时Extension的Int读取Int其他文件的变量.的扩展Double和CGFloat以及Int也是可能的.
CustomOperators.swift
import UIKit
postfix operator %
extension Double {
    static postfix func % (n: Double) -> Double {
     return Double(n) /  100
    }
}
extension Int {
    static postfix func % (n: Int) -> Double {
        return Double(n) /  100
    } …我正在尝试在 equalityClass 中实现 Equatable 协议,但显示成员运算符 '==' 必须至少有一个类型为 'eqaualityClass' 的参数。有人可以解释这里出了什么问题吗?
protocol Rectangle: Equatable {
    var width: Double { get }
    var height: Double { get }
}
class eqaualityClass:Rectangle{
    internal var width: Double = 0.0
    internal var height: Double = 0.0
      static func == <T:Rectangle>(lhs: T, rhs: T) -> Bool {
          return lhs.width == rhs.width && rhs.height == lhs.height
     }
}