delegating-constructor
全部标签 这是我的第一篇文章,我会尽量准确。我已经阅读了许多关于iOS协议(protocol)/委托(delegate)实现的文章,但所有示例都失败了。让我们说我有A和BController,想从A向B发送数据。嗯@protocolexampleprot@required-(void)exampledmethod:(NSString*)e1;@end@interfaceViewController{__weakiddelegate}--是在某些程序中我试着推[delegateexamplemethod:@"test"]B.h@interfacetest2:UiViewcontroller并在B.
我在另一个线程中启动了一个NSURLConnection:dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH,0),^{NSURLConnection*connection=[NSURLConnectionconnectionWithRequest:[requestpreparedURLRequest]delegate:self];[connectionstart];});但是我的委托(delegate)方法没有被调用:-(void)connection:(NSURLConnection*)conn
我有一个实现各种协议(protocol)(比如10种不同协议(protocol))的对象。例如@interfaceMyClass@end@implementation///awholebunchofmethodsforthedelegates@end为了“清理”这个类中的东西——我创建了帮助类,它封装了与这些委托(delegate)相关的逻辑。所以现在新的重构类看起来像//publicinterfacewhichlooksthesame@interfaceMyClass@end//privateinterface@interfaceMyClass()//abunchofobjectsw
我看了一个示例,其中解释了java的委托(delegate)模式。没有发现它有多大用处(请原谅我的无知),因为我觉得它缺乏objective-c的灵active。有没有办法像在objective-c中那样动态设置委托(delegate)对象。这不是授权的全部意义吗?我对java的了解很初步,所以请详细解释一下。 最佳答案 我认为有很多方法可以在Java中实现委托(delegate)模式,但可能没有一种感觉像是内置的。看看Wikipediaexample.您的基本选择是手动实现一个接口(interface),然后简单地将调用转发到一个
我正在创建一个使用iOS7中新的条形码扫描器的应用程序,但我在使用委托(delegate)方法时遇到了一些问题。扫描器正确识别条形码并调用委托(delegate)方法,但它执行得太快,因此调用连续发生多次,导致连续执行多次。下面的委托(delegate)方法。-(void)captureOutput:(AVCaptureOutput*)captureOutputdidOutputMetadataObjects:(NSArray*)metadataObjectsfromConnection:(AVCaptureConnection*)connection{connection.enabl
我正在比较Objective-C中委托(delegate)与block的内存占用,以解决相同的问题。比如有一个worker类,做一些工作://delegate@protocolWorkerDelegate:NSObject-(void)workHasBeenDone;@end//blocktypedefvoid(^WorkerBlock)();@interfaceWorker:NSObject@property(nonatomic,weak)iddelegate;@property(nonatomic,copy)WorkerBlockblock;-(void)doTheWork;@en
在苹果map中有一个委托(delegate)方法-(void)mapView:(MKMapView*)mapViewregionDidChangeAnimated:(BOOL)animated并在我结束滚动或平移map时被触发,但我找不到谷歌地图的这种方法。有一个方法-(void)mapView:(GMSMapView*)mapViewdidChangeCameraPosition:(GMSCameraPosition*)position但是本地图仍在滚动时,此方法会继续触发,我不希望这样。我必须仅在滚动完成时更改属性。 最佳答案
我正在尝试创建一个辅助类,以便轻松地在任何其他类中获取手机的坐标。我遵循了一个教程,其中UIViewController实现了它奏效了。我试图在一个简单的NSObject中做同样的事情,但后来我的委托(delegate)不再被召唤。这是我的代码:PS坐标.h#import#import@interfacePSCoordinates:NSObject@property(nonatomic,retain)CLLocationManager*locationManager;@endPS坐标.m#import"PSCoordinates.h"@implementationPSCoordinat
我正在尝试使用CoreBluetooth框架,并且我创建了一个辅助类(btHelper)来使代码更易于维护等。问题在于,在这个帮助类中,当所有内容都被混入大类时,委托(delegate)方法不再像最初那样被调用。是的,我已经在助手类的.h中设置了委托(delegate)方法,是的,我已经将对象CBCentralManager委托(delegate)设置为self。我几乎完成了所有事情,就像在一节课上做的一样。我相信它与主线程有关,但我在这方面的经验很少。具体来说,我要调用的委托(delegate)方法是-(void)centralManagerDidUpdateState:(CBCen
我在使用带有UIScrollView的Storyboard自动布局时遇到问题。我正在更新UIScrollView的约束,然后设置ScrollView的内容大小。但是UIScrollView约束需要一些时间来更新,并且最初UIScrollView无法滚动,因为高度比View高。我无法更改当前的实现。是否有任何方式、通知或任何委托(delegate)方法来检查约束是否已更新,以便我可以做进一步的更改?@property(weak,nonatomic)IBOutletNSLayoutConstraint*scrollViewHieghtConstraint;self.scrollViewHi