Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Can';t用Swift语言实例化泛型类型的数组_Swift - Fatal编程技术网

Can';t用Swift语言实例化泛型类型的数组

Can';t用Swift语言实例化泛型类型的数组,swift,Swift,我正在尝试构建一个类,该类拥有一个包含泛型类型对象的数组。到目前为止我一直不成功。以下是我正在做的: class GenericTest<T>: NSObject { var objects = T[]() } var buffer = GenericTest<String>() 这不是我想要采取的方法,因为我必须解决各种类型的问题。知道为什么会这样吗?出于某种原因,在Swift中使用泛型类时,从NSObject继承不是一个好主意。 我想说的是,除非你绝对必须

我正在尝试构建一个类,该类拥有一个包含泛型类型对象的数组。到目前为止我一直不成功。以下是我正在做的:

class GenericTest<T>: NSObject {
    var objects = T[]()
}

var buffer = GenericTest<String>()

这不是我想要采取的方法,因为我必须解决各种类型的问题。知道为什么会这样吗?

出于某种原因,在Swift中使用泛型类时,从
NSObject
继承不是一个好主意。 我想说的是,除非你绝对必须这样做,否则不要在任何速成班上这样做。如果您需要Obj-C兼容性,则使用
@objc
前缀(以及将从Obj-C调用的任何方法)标记您的类

愚蠢但是。。。是的:

@objc class MyGeneric<T>
{
    var array = T[]()
}

var buffer = MyGeneric<String>()
@objc类MyGeneric
{
变量数组=T[]()
}
var buffer=MyGeneric()

您可以使用基础类,如“代码> NScord”、“代码> NS字典”、“代码”,以及您所希望的任何泛型类型参数,但我建议不要在泛型类定义中继承<代码> NSbObjs<代码>。在Swift中使用泛型类时,从NSObject继承不是一个好主意。 我想说的是,除非你绝对必须这样做,否则不要在任何速成班上这样做。如果您需要Obj-C兼容性,则使用
@objc
前缀(以及将从Obj-C调用的任何方法)标记您的类

愚蠢但是。。。是的:

@objc class MyGeneric<T>
{
    var array = T[]()
}

var buffer = MyGeneric<String>()
@objc类MyGeneric
{
变量数组=T[]()
}
var buffer=MyGeneric()

您可以使用基础类,如“代码> NScord”、“代码> NS字典”、“代码”,以及您所希望的任何泛型类型参数,但我建议不要在泛型类定义中继承<代码> NSbObjs<代码>。在Swift中使用泛型类时,从NSObject继承不是一个好主意。 我想说的是,除非你绝对必须这样做,否则不要在任何速成班上这样做。如果您需要Obj-C兼容性,则使用
@objc
前缀(以及将从Obj-C调用的任何方法)标记您的类

愚蠢但是。。。是的:

@objc class MyGeneric<T>
{
    var array = T[]()
}

var buffer = MyGeneric<String>()
@objc类MyGeneric
{
变量数组=T[]()
}
var buffer=MyGeneric()

您可以使用基础类,如“代码> NScord”、“代码> NS字典”、“代码”,以及您所希望的任何泛型类型参数,但我建议不要在泛型类定义中继承<代码> NSbObjs<代码>。在Swift中使用泛型类时,从NSObject继承不是一个好主意。 我想说的是,除非你绝对必须这样做,否则不要在任何速成班上这样做。如果您需要Obj-C兼容性,则使用
@objc
前缀(以及将从Obj-C调用的任何方法)标记您的类

愚蠢但是。。。是的:

@objc class MyGeneric<T>
{
    var array = T[]()
}

var buffer = MyGeneric<String>()
@objc类MyGeneric
{
变量数组=T[]()
}
var buffer=MyGeneric()

您可以使用基础类,如“代码> NScord,<代码> NSCORCHON/<代码>,以及您希望作为泛型类型参数的任何其他内容,但我建议不要在泛型类定义中继承<代码> NSbObjs<代码>。< /P>不要从<代码> NSbObjs<代码>继承。如果必须具有Obj-C兼容性,请在
定义上使用
@objc
前缀。我注意到Swift中的泛型不能很好地处理一些旧的Obj-C构造。@如果您将其作为响应,我会将其标记为正确。如果您必须具有Obj-C兼容性,请不要继承自
NSObject
,在
定义上使用
@objc
前缀。我注意到Swift中的泛型不能很好地处理一些旧的Obj-C构造。@如果您将其作为响应,我会将其标记为正确。如果您必须具有Obj-C兼容性,请不要继承自
NSObject
,在
定义上使用
@objc
前缀。我注意到Swift中的泛型不能很好地处理一些旧的Obj-C构造。@如果您将其作为响应,我会将其标记为正确。如果您必须具有Obj-C兼容性,请不要继承自
NSObject
,在
定义上使用
@objc
前缀。我注意到Swift中的泛型不能很好地处理一些旧的Obj-C构造。@如果您将其作为响应,我会将其标记为正确。