Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/96.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
Ios 这是在Swift中将类设置为委托的一种方法吗?_Ios_Swift_Delegates - Fatal编程技术网

Ios 这是在Swift中将类设置为委托的一种方法吗?

Ios 这是在Swift中将类设置为委托的一种方法吗?,ios,swift,delegates,Ios,Swift,Delegates,我想为委托分配一个类,但它引发了一个错误:预期的成员名称在“.”之后。我该怎么做 let frc = NSFetchedResultsController(fetchRequest: fr, managedObjectContext: Utility.managedObjectContext(), sectionNameKeyPath: nil, cacheName: nil) frc.delegate = Utility.class 类不能用作委托。委托必须是类的实例。无法引用尚未实例化的内

我想为委托分配一个类,但它引发了一个错误:预期的成员名称在“.”之后。我该怎么做

let frc = NSFetchedResultsController(fetchRequest: fr, managedObjectContext: Utility.managedObjectContext(), sectionNameKeyPath: nil, cacheName: nil)
frc.delegate = Utility.class

类不能用作委托。委托必须是类的实例。无法引用尚未实例化的内容。没有的就不能用

您在
NSURLConnection
中给出的示例没有将类用作委托

它使用符合协议
nsurlconnectionelegate
的类,并在初始化期间创建此类的对象。神奇之处在于
NSURLConnection
对象的初始化

这与设置完全不同。委托给已存在的对象

setter不会为您创建一个它用于协议方法的对象,而是希望提供一个已经实例化的对象

这同样适用于Objective-C


查看如何在Swift类中使用
NSFetchedResultsController
的示例(您可以在Objective-C中使用非常类似的方法)

这是如何工作的?委托是类的实例。我不确定这是否可能发生。在Objective-C中,我已经做了好几次了。类也是一个对象,就像类的实例一样。你确定吗?您确定没有将单例或类似的设置为委托吗?这在Objective-C中有效:
NSURLConnection*connection=[[NSURLConnection alloc]initWithRequest:request委托:[DBDownload class]]@Fogmeister我在这里和你在一起:从未见过一个类被用作委托。啊,谢谢你解释我不知道nsurlconnection会这样做。但无论如何,我不再使用它了。Lol.Hi scythe42,快速提问,如果我不能实例化一个对象,因为它是一个泛型类,我在另一个类中没有访问权限,但我希望泛型类调用另一个类中的函数,因此需要委托,那么我如何设置delegate=self?