草庐IT

ios - 在 block 中引用 iOS 应用程序委托(delegate)是否会创建委托(delegate)对象的副本?

考虑以下示例:-(void)exampleFunction{AppDelegate*appDelegate=(AppDelegate*)[[UIApplicationsharedApplication]delegate];SomeClass*classObject=[[SomeClassalloc]init];[classObjectsomeFunctionThatDoesBackgroundWorkAndCallsACompletionBlock:^(NSDictionary*results){SomeNeatObject*object=appDelegate.someNeatObj

iOS 5 UIWebview 委托(delegate) : WebKit discarded an uncaught exception in the webView:decidePolicyForNavigationAction

我正在使用委托(delegate)方法shouldStartLoadWithRequest来捕获链接点击并处理我的应用程序内的特定情况,而不是让webView导航到链接。在这段代码中,我试图将一个新的ViewController压入堆栈。在尝试推送View后,我立即崩溃,并在我的控制台中显示以下消息:WebKitdiscardedanuncaughtexceptioninthewebView:decidePolicyForNavigationAction:request:frame:decisionListener:delegate:我的代码是这样的:-(BOOL)webView:(U

iphone - 检查委托(delegate)是否响应可选选择器的最佳方法

我已经习惯了将@optional委托(delegate)的方法发送到:if([self.delegaterespondsToSelector:@selector(method:)]){[self.delegatemethod:obj];}它工作得很好,但是如果有很多委托(delegate)的方法,它看起来像是在复制respondToSelector:代码...在某个时间点,我将respondsToSelector:放在单独的方法中://ignorewarning#pragmaclangdiagnosticignored"-Warc-performSelector-leaks"-(voi

ios - Objective C 委托(delegate)或 C 风格的 block 回调?

我正在设计一个类,只要有事情发生,它就会“触发事件”。这些事件往往与UI无关。我想知道这样做的最佳方法是什么。我一直在探索:委托(delegate)我将定义一个委托(delegate)类,在init函数中接受委托(delegate),并在事件发生时调用委托(delegate)类上的方法。C风格block我将定义一个函数指针,并在init函数中接受一个函数。我会在事件发生时调用它。在这两种情况下,我可能需要处理多个“源”,因此我需要一组委托(delegate)或block。我注意到在iOS编程中,委托(delegate)往往更受青睐,尤其是对于UI框架。但我来自函数式编程背景,我绝对乐于

ios - 如何将界面构建器中文本字段的委托(delegate)设置为 "files owner"?

我正在尝试实现:-(BOOL)textFieldShouldReturn:(UITextField*)textField方法。由于某种原因,它没有被调用。我已将文本字段设置为代码中的第一响应者。我知道我还需要将界面生成器中文本字段的委托(delegate)设置为“文件所有者”。怎么做到的?谢谢! 最佳答案 如果您已将UITextField声明为IBOutlet属性,则只需在viewDidLoad中添加以下行:self.myTextField.delegate=self或者,您可以在Storyboard中完成。

objective-c - IOS:两个具有两种不同委托(delegate)方法的 UIAlert

我有一个UIAlertUIAlertView*alertView=[[UIAlertViewalloc]initWithTitle:@"ok"message:@"Canc?"delegate:selfcancelButtonTitle:@"OK"otherButtonTitles:@"Annul",nil];[alertViewshow];[alertViewrelease];及其委托(delegate)方法:-(void)alertView:(UIAlertView*)alertViewclickedButtonAtIndex:(NSInteger)buttonIndex{if(bu

objective-c - 在 ios6 中,将 pageViewController 的 gestureRecognizers 委托(delegate)设置为 viewController 会导致崩溃

这在ios6中才开始发生,但如果你使用页面ViewController模板开始一个新项目。然后在PCRootViewControlle::viewDidLoad()将这些行添加到方法的底部。for(UIGestureRecognizer*gRinself.pageViewController.gestureRecognizers){gR.delegate=self;}您需要分配viewController以使其符合UIGestureRecognizerDelegate并实现该方法-(BOOL)gestureRecognizer:(UIGestureRecognizer*)gesture

iOS - Storyboard - 委托(delegate)弹出

我在我的ipad应用程序中使用Storyboard,并且能够成功地进行转换、使用segues等。目前,我在单击按钮时显示弹出式ViewController。我想检测弹出窗口何时消失。我该怎么做? 最佳答案 这是我做的:-(void)prepareForSegue:(UIStoryboardSegue*)seguesender:(id)sender{if([[segueidentifier]isEqualToString:@"popover"]){UIStoryboardPopoverSegue*pop=(UIStoryboardPo

ios - 在 UITextView 上更改文本时是否有委托(delegate)调用?

当我像这样以编程方式设置我的UITextView时:[self.textViewsetText:@""];委托(delegate)方法textViewDidChange:不会被调用。有没有一种方法可以让我不创建UITextView子类? 最佳答案 使用代码手动设置UITextView的文本时,不会调用textViewDidChange:方法。(不过,如果您设置了TextView的delegate,它会在用户编辑它时被调用。)一种可能的解决方法是在您编辑文本时手动调用textViewDidChange:。例如:[self.textVi

iphone - 有没有简单的方法来处理 UIAlertView 结果而无需委托(delegate)?

我有一个显示带有是/否按钮的UIAlertView的函数,它仅在函数范围内使用,因此我不想实现委托(delegate)来捕获用户反馈。有没有什么方法可以知道用户在没有实现UIAlertViewDelegate的情况下点击了什么按钮,比如:[alertshow];if([alertindexOfClickedButton]==indexOfYes){....}或动画中的lambda表达式 最佳答案 没有办法完全避免委托(delegate),但您可以按照以下方式创建一个包装器来实现这种效果:@interfaceMyAlertViewDe