在创建类名之前,如何在Swift中声明类名?
这就是我需要的:在创建类名之前,如何在Swift中声明类名?,swift,Swift,这就是我需要的: func mockNetworkClientWithResponse(response: [String: AnyObject], withRequestType type: DBRequestType = .GET) -> DBMockNetworkClient { class DBMockNetworkClient: DBNetworkClient { } } 返回值尚未定义,因此使用未声明类型时出现错误。如何在创建此函数之前声明它?将声明移到函
func mockNetworkClientWithResponse(response: [String: AnyObject], withRequestType type: DBRequestType = .GET) -> DBMockNetworkClient {
class DBMockNetworkClient: DBNetworkClient {
}
}
返回值尚未定义,因此使用未声明类型时出现错误。如何在创建此函数之前声明它?将声明移到函数之外:
class DBMockNetworkClient: DBNetworkClient { ... }
func mockNetworkClientWithResponse(response: [String: AnyObject], withRequestType type: DBRequestType = .GET) -> DBMockNetworkClient {
// ...
}
如果函数必须返回类型为
DBMockNetworkClient
的值,则类DBMockNetworkClient
需要在声明函数的范围内可访问,这只能通过在相等或更高的范围内定义来实现。函数的调用者必须能够知道返回的类型,否则函数将不可用。将声明移到函数之外:
class DBMockNetworkClient: DBNetworkClient { ... }
func mockNetworkClientWithResponse(response: [String: AnyObject], withRequestType type: DBRequestType = .GET) -> DBMockNetworkClient {
// ...
}
如果函数必须返回类型为
DBMockNetworkClient
的值,则类DBMockNetworkClient
需要在声明函数的范围内可访问,这只能通过在相等或更高的范围内定义来实现。函数的调用者必须能够知道返回的类型,否则函数将不可用。将声明移到函数之外:
class DBMockNetworkClient: DBNetworkClient { ... }
func mockNetworkClientWithResponse(response: [String: AnyObject], withRequestType type: DBRequestType = .GET) -> DBMockNetworkClient {
// ...
}
如果函数必须返回类型为
DBMockNetworkClient
的值,则类DBMockNetworkClient
需要在声明函数的范围内可访问,这只能通过在相等或更高的范围内定义来实现。函数的调用者必须能够知道返回的类型,否则函数将不可用。将声明移到函数之外:
class DBMockNetworkClient: DBNetworkClient { ... }
func mockNetworkClientWithResponse(response: [String: AnyObject], withRequestType type: DBRequestType = .GET) -> DBMockNetworkClient {
// ...
}
如果函数必须返回类型为
DBMockNetworkClient
的值,则类DBMockNetworkClient
需要在声明函数的范围内可访问,这只能通过在相等或更高的范围内定义来实现。函数的调用者必须能够知道返回的类型,否则函数将无法使用。我坚信这是不可能的。现在,模糊的强类型语言,即使是使用更高级的类型系统(如Swift或Scala)的语言,也可以知道,也不能推断在函数中定义类型时要返回的类型
你不能用接口解决这个问题吗
类似(伪代码):
当然,接口的定义必须在函数声明之前。我坚信这是不可能的。现在,模糊的强类型语言,即使是使用更高级的类型系统(如Swift或Scala)的语言,也可以知道,也不能推断在函数中定义类型时要返回的类型 你不能用接口解决这个问题吗 类似(伪代码):
当然,接口的定义必须在函数声明之前。我坚信这是不可能的。现在,模糊的强类型语言,即使是使用更高级的类型系统(如Swift或Scala)的语言,也可以知道,也不能推断在函数中定义类型时要返回的类型 你不能用接口解决这个问题吗 类似(伪代码):
当然,接口的定义必须在函数声明之前。我坚信这是不可能的。现在,模糊的强类型语言,即使是使用更高级的类型系统(如Swift或Scala)的语言,也可以知道,也不能推断在函数中定义类型时要返回的类型 你不能用接口解决这个问题吗 类似(伪代码):
当然,接口的定义必须在函数声明之前。我认为您可以使用
typealias
作为解决方法,因此
typealias DBMockNetworkClient = Any
有了它,编译器将看到您想要返回的类型,但在函数中有将返回的类
但是,在这种情况下,您将无法使用此类的属性,因为声明仅在该函数内。您只能将结果传递到其他地方。我认为您可以使用
typealias
作为解决方法,因此
typealias DBMockNetworkClient = Any
有了它,编译器将看到您想要返回的类型,但在函数中有将返回的类
但是,在这种情况下,您将无法使用此类的属性,因为声明仅在该函数内。您只能将结果传递到其他地方。我认为您可以使用
typealias
作为解决方法,因此
typealias DBMockNetworkClient = Any
有了它,编译器将看到您想要返回的类型,但在函数中有将返回的类
但是,在这种情况下,您将无法使用此类的属性,因为声明仅在该函数内。您只能将结果传递到其他地方。我认为您可以使用
typealias
作为解决方法,因此
typealias DBMockNetworkClient = Any
有了它,编译器将看到您想要返回的类型,但在函数中有将返回的类
但是,在这种情况下,您将无法使用此类的属性,因为声明仅在该函数内。您只能将结果传递到其他地方