草庐IT

Delegate

全部标签

ios - 为什么要使用委托(delegate)?

关闭。这个问题需要更多focused.它目前不接受答案。想改进这个问题吗?更新问题,使其只关注一个问题editingthispost.关闭7年前。Improvethisquestion我对Objective-C中的委托(delegate)有一些疑问:使用它们有什么意义?为什么我不能用我需要的所有方法创建类,然后将此类的对象设置为属性(即使用协议(protocol)有什么便利)?谁调用AppDelegate的方法?为什么这些方法有一个类,而不是一个协议(protocol)?我读到,委托(delegate)方法包含诸如“做过”、“将”、“应该”、“成为”之类的词。那么为什么ViewCont

ios - 代表正在重置为零

我有一个嵌入在UINavigationController中的NewCartViewController在我的ContainerViewController中:overridefuncprepare(forsegue:UIStoryboardSegue,sender:Any?){ifsegue.identifier=="goToCart"{self.cartVC=segue.destinationas?NewCartViewControllerself.cartVC?.delegate=selfprint("cartVCDelegate",cartVC?.delegate)//valu

ios - 使用 GCD 并回调主线程时如何设置正确的对象拆卸?

考虑这个设置:对象A创建对象B做一些工作,并将自己设置为B的委托(delegate),以通知工作进度。B使用GCDblock做一些工作,并用有关工作完成的委托(delegate)方法向A发回信号。A想在工作完成后拆除(发布)B。在代码方面:对象A:B*b=[[Balloc]init];b.delegate=self;[bdoSomeWork];-(void)didSomeWorkFromB:(B*)b{[brelease];b=nil;}对象B:-(void)doSomeWork{dispatch_async(dispatch_get_global_queue(DISPATCH_QUE

objective-c - 什么在子类化 UIViewController 时调用 viewDidLoad?

在将其进一步扩展到UIKit框架的实现中时,我试图了解协议(protocol)和委托(delegate)。据我了解stackoverflowpost委托(delegate)方法的名称通常包含Did、Should和Will。基于此,我假设在UIViewController.h中声明的-(void)viewDidLoad;是一个委托(delegate)方法,但是委托(delegate)方法是什么以及来自哪里?我查看了UIViewController的头文件,它只遵守NSCoding协议(protocol),这是一个死胡同。据我所知,UIViewController的父类(superclas

ios - "self.delegate = self"无法在使用 ARC 的 iOS 上工作

我正在开发启用了ARC的iOSSDK4项目。我的类MyTextView(派生自具有UITextViewDelegate协议(protocol)的UITextView)实现了以下静态方法:+(void)showInViewController:(UIViewController*)viewController{MyTextView*textEdit=[[MyTextViewalloc]init];textEdit.delegate=textEdit;[viewController.viewaddSubview:textEdit];//Showthekeyboard[textEditbec

ios - 在 Storyboard中,Popoverview 不接收委托(delegate)

我正在按Storyboard制作示例应用程序。当制作popoverview时,我使用了这种方式-'Embedinnavigationcontroller'。但是我在使用delegate时遇到了很大的麻烦。这是不委托(delegate)给弹出View的。[ViweController.m]-(void)prepareForSegue:(UIStoryboardSegue*)seguesender:(id)sender{if([[segueidentifier]isEqualToString:@"PopRootViewController"]){NSLog(@"[seguedestinat

objective-c - 如果需要委托(delegate)函数,如何直接返回NSURLConnection加载的数据?

简短说明我想做什么:我正在使用NSURLConnection连接到作为我的API的SSL网页。服务器证书是自签名的,因此您必须接受它,例如在Web浏览器中。我在StackOverflow上找到了一个解决方案howtodothetrick(HowtouseNSURLConnectiontoconnectwithSSLforanuntrustedcert?)所以我添加了NSURLConnection委托(delegate)来使用像“didReceiveAuthenticationChallenge”这样的方法。因此我不能使用这个:NSData*response=[NSURLConnecti

ios - AVAudioPlayer 委托(delegate)不会在类方法中被调用吗?

我正在使用AVAudioPlayer并设置它的委托(delegate),但它的委托(delegate)没有被调用+(void)playflip{NSString*path;path=[[NSBundlemainBundle]pathForResource:@"flip"ofType:@"mp3"];AVAudioPlayer*flip;flip=[[AVAudioPlayeralloc]initWithContentsOfURL:[NSURLfileURLWithPath:path]error:Nil];flip.delegate=self;[flipplay];}我正在实现的类是声音

iphone - UIImagePickerController subview 未调用委托(delegate)。用作 modalViewController

我正在使用UIImagePickerController编写相机应用程序,我想将它作为subview添加到显示层次结构中:iddelegate=[[UIApplicationsharedApplication]delegate];window=[delegatewindow];picker.cameraViewTransform=CGAffineTransformMakeScale(1.3,1.3);[windowaddSubview:picker.view];[pickerviewWillAppear:YES];[pickerviewDidAppear:YES];但是当我这样做时,委

iphone - 设置 UITableViewCell :textLabel:text 时应用程序崩溃

我正在创建一个SplitViewiPad应用程序。当用户按下主视图中的条形按钮项时,将显示一个模式。这个模式有一个文本字段和一个IBAction来获取键盘返回。在键盘返回时,我的Farm类的一个新实例被创建(代码如下)。然后将此实例添加到存储在我的委托(delegate)中的数组中。然后我尝试重新加载MasterViewController的表。重新加载后,应用程序在cell.textLabel.text上崩溃并出现EXC_BAD_ACCESS错误。Farm*current=[delegate.arrayOfFarmsobjectAtIndex:indexPath.row];cell.