【发布时间】:2017-05-22 16:06:08
【问题描述】:
我正在尝试在 Xcode 8 中将 C# 示例转换为 swift,但我不断遇到语法问题。查看代码的小示例:
public class ToonAPIClient {
private var APIManagerBaseAddress: URL!
private var APIBaseAddress: URL!
public init() {
APIManagerBaseAddress = URL(String: "https://path.to.baseurl/")
APIBaseAddress = URL(String: APIManagerBaseAddress + "append/path/data/")
}
}
APIManagerBaseAddress 我得到错误
参数标签 '(String:)' 不匹配任何可用的重载
对于 APIManagerBaseAddress
二元运算符“+”不能应用于“URL!”类型的操作数和'字符串'
感谢任何帮助,因为我尝试了一大堆语法可能性:)
-edit- 感谢大家的帮助和建议!
【问题讨论】:
-
永远不要将属性声明为在
init方法中初始化的隐式解包可选。勇敢地宣布它们是非可选的。或者 - 如果属性应该是可选的 - 将它们声明为真正的可选 (?)。 -
PS:并且符合变量、方法和参数标签以小写字母开头的命名约定可以避免那种(自制)错误...
-
谢谢,我会记住的。基本上它是我试图在 swift 中实现的 API 的 C# 代码示例。所以我使用了这个例子中的命名约定。