Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.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
Iphone 重新分配代表的影响_Iphone_Objective C_Ios_Ipad_Delegates - Fatal编程技术网

Iphone 重新分配代表的影响

Iphone 重新分配代表的影响,iphone,objective-c,ios,ipad,delegates,Iphone,Objective C,Ios,Ipad,Delegates,我希望了解多次分配代理的效果(如果有)?考虑到我没有将代理分配给另一个viewController,在ViewWill中分配代理是否不好 它只是我的一个类的一个简单自定义委托。我需要将代理放在选项卡栏的一个视图中,而不是另一个视图中。由于我一直在ViewWillDisplay中分配它,并且每次您更改选项卡时都会调用ViewWillDisplay,我只是想知道是否有一些不必要的影响。没有,在您描述的情况下,应该没有问题。但这取决于分配代理时代码的作用。如果它是一个简单的属性赋值,没有为属性定制“s

我希望了解多次分配代理的效果(如果有)?考虑到我没有将代理分配给另一个viewController,在ViewWill中分配代理是否不好


它只是我的一个类的一个简单自定义委托。我需要将代理放在选项卡栏的一个视图中,而不是另一个视图中。由于我一直在ViewWillDisplay中分配它,并且每次您更改选项卡时都会调用ViewWillDisplay,我只是想知道是否有一些不必要的影响。

没有,在您描述的情况下,应该没有问题。但这取决于分配代理时代码的作用。如果它是一个简单的属性赋值,没有为属性定制“setter”方法的实现,那么就没有问题了。但是,如果您为属性编写了自己的“setter”方法,并且实现执行了其他操作,那么这些其他操作可能是一个问题


无论哪种方式,您可能希望考虑将赋值移动到<代码> VIEWDIDLoad 方法。就像iOS 6一样,这只会被调用一次。在iOS 5或更早版本下,可以多次调用它,但在这种情况下也会调用

viewDidUnload

您需要提供更多的上下文来确保,但一般来说,您可以根据需要安全地分配一个委托。但是关于你的使用信息如此之少,无法确定。好的,谢谢你的回复。请检查我的编辑,让我知道你是否仍然有同样的感觉。谢谢