草庐IT

Delegate

全部标签

iphone - 为什么保留 NSURLConnection 和 CAAnimation 委托(delegate)?

我是iOS开发的新手。我才知道他们是Foundation中保留的两个代表。我的理解是代表必须始终松散耦合。那为什么特意保留这两个呢?谢谢 最佳答案 通常,一个对象的整个生命周期都需要一个委托(delegate),这就是为什么它通常是一个弱/非保留引用。否则,对象和委托(delegate)都不能被释放,因为它们都将等待对方离开。然而,在NSURLConnection和CAAnimation的情况下,实际上只有具有某种“完成”状态的特定任务才需要委托(delegate)。当连接完成加载/取消或动画结束时,他们可以自己释放委托(deleg

iphone - 如何使 Xcode 自动完成委托(delegate)方法?

此代码使用委托(delegate)[[[UIAlertViewalloc]initWithTitle:@"Error"message:@"Youcanleavethetextblank"delegate:selfcancelButtonTitle:@"Quit"otherButtonTitles:@"OK",nil]show];有问题的代表是:(void)alertView:(UIAlertView*)alertViewclickedButtonAtIndex:(NSInteger)buttonIndex{我的问题是:您如何为Xcode委托(delegate)方法自动完成?在Eclip

ios - 消息发送到解除分配的实例 ARC

我正在做一个从服务器下载图像并将其显示在View上的应用程序。我正在为此使用委托(delegate)。图像加载完成后,代理会向View发送消息以显示图像。上述场景运行良好。但是,如果我从该特定View移出到任何其他View,则当图像加载完成时,委托(delegate)会尝试发送消息并导致错误。我试过设置imageFetcher.delegate=nil;在查看didUnload。同样在调用下载类中的委托(delegate)方法之前,我检查委托(delegate)是否为零。但我可以看到委托(delegate)对象不是nil。if(delegate!=nil){[delegateimage

objective-c - NSURLConnection 委托(delegate)方法未被调用

我正在尝试使用NSURLConnection的委托(delegate)方法。当前未调用以下方法:-(void)connectionDidFinishLoading:(NSURLConnection*)connection;-(void)connection:(NSURLConnection*)connectiondidReceiveData:(NSData*)data;-(void)connection:(NSURLConnection*)connectiondidReceiveAuthenticationChallenge:(NSURLAuthenticationChallenge*

ios - 更改 App delegate 中的背景颜色

我似乎无法更改应用委托(delegate)中所有View的背景颜色。在ios6中这有效:window.backgroundColor=[UIColorblueColor];并在每个UIView中设置要清除的背景。但由于某些原因,这在iOS7中不起作用。我可以在每个View中设置背景颜色没问题,但这是很多工作,一定有更简单的方法吗?有什么建议吗? 最佳答案 这是一个糟糕的改变背景颜色的方法!如果有任何东西在移动,动画将从所有透明度中减慢。在每个ViewController中更改View的backgroundColor:-(void)v

ios - 未为 API 监听器调用 NSFetchedResultsController 委托(delegate)

如果代码将委托(delegate)分配给NSFetchedResultsController,如下所示:-(id)initWithFetchedResultsController:(NSFetchedResultsController*)fetchedResultsController{self=[superinit];if(self!=nil){fetchedResultsController.delegate=self;_fetchedResultController=fetchedResultsController;}returnself;}NSFetchedResultsCon

ios - iOS 13 中未调用应用程序委托(delegate)方法

我正在使用Xcode11并为iOS13构建应用程序。在我在Xcode中创建的新项目中,缺少一些UIApplicationDelegate方法,因此我将它们添加回应用程序委托(delegate)文件中。“单一View应用程序”项目的新模板缺少方法。问题是除了-application:didFinishLaunchingWithOptions:之外,没有任何委托(delegate)方法被调用。这是我的应用委托(delegate):@implementationAppDelegate-(BOOL)application:(UIApplication*)applicationdidFinish

ios 对强/弱引用感到困惑

我查看了有关强引用/弱引用的问题,并理解了使用弱引用(父子关系)的原因。但是,我对创建父子关系的特定场景感到困惑。例如,向UIView对象添加subview是否是创建父/子关系的示例?什么是?到目前为止,我在我的项目中所做的一切都使用了强,我没有使用弱,但我不确定我是否会遇到内存管理问题(或者如何检查我是否会)。任何人都可以提供创建父子关系的具体情况或示例吗?谢谢!编辑:事实上,我的一个显示大量数据(mapView、图像数量、文本、按钮)的ViewController出现了一些“收到内存警告”问题。一切属性都有一个强指针。我需要解决这个ViewController的内存管理问题

objective-c - 在 PrepareForSegue 中设置属性对于 ViewDidLoad 为空,但稍后会更正

我对此进行了上下搜索,发现了一些相似但不是我的确切问题。在我的详细ViewController中,我有一个segue可以打开一个popovertableviewcontroller。在PrepareForSegue方法中,我设置了TableView的属性,如下所示:-(void)prepareForSegue:(UIStoryboardSegue*)seguesender:(id)sender{if([[segueidentifier]isEqualToString:@"StateSegue"]){popover=[(UIStoryboardPopoverSegue*)seguepop

iphone - 应用委托(delegate)对象

在我的appdelegate中,我声明了一个我开发的自定义类的对象。在我的ViewController中,我添加了以下代码行:AppDelegate*appDelegate=(AppDelegate*)[[UIApplicationsharedApplication]delegate];[appDelegate.dbConnectorloadImages:self];没有错误,但是即使编译器处理了loadImages,也不会进入函数。我已经使用断点来检查这一点。有什么建议吗? 最佳答案 您的dbConnector属性可能为nil。确