Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.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
Generics swift泛型的分段错误_Generics_Swift_Protocols - Fatal编程技术网

Generics swift泛型的分段错误

Generics swift泛型的分段错误,generics,swift,protocols,Generics,Swift,Protocols,这真的让我很困惑,我已经厌倦了寻找解决办法,可能还有其他人面临这个问题吗 Welcome to Swift! Type :help for assistance. 1> protocol Type {} 2> class Expression<T: Type> {} 3> var exp: Expression<Type>? = nil exp: Expression<Type>? = nil 4> class A {

这真的让我很困惑,我已经厌倦了寻找解决办法,可能还有其他人面临这个问题吗

Welcome to Swift!  Type :help for assistance.
  1> protocol Type {}
  2> class Expression<T: Type> {}
  3> var exp: Expression<Type>? = nil
exp: Expression<Type>? = nil
  4> class A { 
  5.     var exp: Expression<Type>? = nil 
  6. }    
Segmentation fault: 11
欢迎来到Swift!类型:帮助寻求帮助。
1> 协议类型{}
2> 类表达式{}
3> var exp:表达式?=无
表达式?=无
4> A类{
5.变量exp:表达式?=nil
6. }    
分段错误:11
不知何故,第三行只在repl中起作用,但在操场上不起作用。我也有同样的问题。 我确实让它工作了。。。。但要付出代价

您必须通过在@objc前面加上前缀,使该协议成为一个objective c协议

请尝试以下代码:

@objc protocol Type {}
class Expression<T: Type> {}
var exp: Expression<Type>? = nil

class A {
    var exp: Expression<Type>? = nil
}
@objc协议类型{}
类表达式{}
var exp:表达式?=无
甲级{
var exp:表达式?=nil
}

Xcode 6.1 GM 2修复了许多编译器崩溃

如果您必须依赖较旧的Xcode版本,那么在代码成功编译而不崩溃之前,除了更改代码的结构之外别无选择