草庐IT

delegating-constructor

全部标签

ios - 如何最好地为 ARC 的委托(delegate)保留 self ?

想象一下三个类(class)。A类和B类是我的。第三类是UIViewController,我无法修改其代码:在A类中:-(void)aMethod{ClassB*classBInstance=[[[ClassBalloc]init]goWithOptions:options];}ClassBInstance仅在aMethod的生命周期内保留。在B类中:-(void)goWithOptions{AUIViewController*avcInstance=[[AUIViewControlleralloc]init];avcInstance.delegate=self;[viewContro

ios - 在运行时动态实现委托(delegate)

在我的类(class)中,我有一个UIViewController的引用,并希望在运行时在此ViewController上实现一个委托(delegate)。委托(delegate)只有一个方法(有两个参数),当调用ViewController上的委托(delegate)方法时,我的类应该处理调用。我很确定这可以通过某种方法调配等实现,但我不知道如何实现。 最佳答案 您想要的是可能的,但这不是方法调配,因为您不想切换到方法而是添加一个新方法。由于Objective-C的动态特性,这是可以做到的,但它仍然是一个肮脏的hack,因此还要向

iphone - 当应用程序处于后台时,不在应用程序委托(delegate)中调用 didReceiveLocalNotification 方法 [iOS6]

我已经添加了一个本地通知,它也会通过在iOS6上显示横幅和在iOS5上显示警报来触发。但在iOS6中,应用委托(delegate)中的"didReceiveLocalNotification"方法没有被调用。当应用程序处于后台时,我如何知道已发生通知?谢谢。 最佳答案 它永远不会在后台调用。当您的应用程序处于前台时,它将被调用。检查UIApplicationDelegateProtocolReference更多信息链接 关于iphone-当应用程序处于后台时,不在应用程序委托(deleg

ios - 未调用 MFMailComposeViewController 委托(delegate)方法

我有某种操作表UIView,它在点击其中的一个按钮后调用MFMailComposeViewController,MFMailComposeViewController被调用并成功呈现,但是当我点击取消时它不会消失,有时会崩溃,我知道这是一个已知问题,但我已经尝试了所有已知的修复程序,但它对我不起作用。那是我的代码:发送反馈.h:#import#import@interfaceSendFeedback:UIView//Uselesscodetotheproblem.@property(nonatomic,retain)MFMailComposeViewController*feedBac

ios - 从 appdelegate 设置 UIViewController 委托(delegate)

我正在尝试从我的应用委托(delegate)中设置ViewController的委托(delegate)。但它不起作用。AppDelegate.m:UIStoryboard*sb=[UIStoryboardstoryboardWithName:@"MainStoryboard"bundle:nil];SFLoginViewController*LoginVC=(SFLoginViewController*)[sbinstantiateViewControllerWithIdentifier:@"Login"];LoginVC.delegate=self;SFLoginViewContr

ios - 作为自己的委托(delegate)的类是否遵循 iOS 约定?

抱歉,这个问题听起来“主观”,但我认为它应该有一个非常明确的答案。我有一个类“LocationManager”,我想管理我的核心位置逻辑。我有两个选择:LocationManager有一个引用CLLocationManager实例的强大属性。LocationManager是CLLocationManager的委托(delegate),并从中接收位置更新。LocationManager是CLLocationManager的子类,并表示self.delegate=self以便它可以接收自己的位置更新。我很好奇这些选项中的哪一个被认为是“正确”的做法,我确信一定有一个首选的方法。谢谢!

javascript - 从 Objective C 委托(delegate)回调到 Cordova 插件

情况:我正在构建一个cordova插件来将现有的iOS库与Ionic连接起来。方法的基本映射已经完成并且可以正常工作,这意味着我可以通过Angular方法调用iOS方法并获得成功/错误回调。问题:调用了一个登录方法,然后调用了适当的委托(delegate)方法(例如userDidLoginWithSuccess)。从登录方法回调到cordova插件很容易,但我需要以某种方式从委托(delegate)方法回调,以便让Ionic应用程序知道用户是否成功登录。对此有什么想法吗?谢谢。PS:我检查了这篇文章,虽然这是一个类似的问题,但没有帮助。Phonegap-SendmessagetoJav

iphone - 如何检查是否设置了自定义委托(delegate)?

我在RandomClass.m和RandomClass.h中实现了自定义委托(delegate)RandomClassDelegate。现在我需要实现委托(delegate)变量,并让它调用协议(protocol)中的方法,如下所示:[self.delegaterandomClassDelegateMethod];显然,如果从未设置delegate,这将导致程序崩溃并导致运行时错误。显而易见的解决方案是:if(delegate){[self.delegaterandomClassDelegateMethod];}但我想知道这是否是正确的模式,或者是否有更好的方法来做到这一点,可能在协议

objective-c - 未调用 CLLocationManager 委托(delegate)

这个问题在这里已经有了答案:WhytheCLLocationManagerdelegateisnotgettingcallediniPhoneSDK4.0?(5个答案)关闭7年前。我在设备上使用CLLocationManager并且没有调用委托(delegate)方法。这是我的代码(我可以看到该类也没有被释放):#import#import@interfaceCurrentLocation:NSObject{CLLocationManager*locationManager;}@property(nonatomic,retain)CLLocationManager*locationMa

objective-c - iOS dispatch_async 和 NSURLConnection 委托(delegate)函数未被调用

我认为我已经编辑了这篇文章以使其更易于阅读。在dispatch_asyncblock中完成一些密集的字符串操作后,我需要调用NSUrlConnection。我调用的URL上有.htaccess身份验证,所以我不能使用同步连接。但是NSURLConnection委托(delegate)方法没有被调用。我知道URL在浏览器中大约5秒后加载,并且我已经使用没有身份验证的简单URL测试了代码,结果没有任何区别。什么阻止了调用委托(delegate)方法?此函数执行一些字符串操作,需要一段时间才能完成:-(void)performSearch{//setsomedefaultsandworkou