草庐IT

objc-protocol

全部标签

c# - 等同于 C# 中的协议(protocol)和委托(delegate)

我想知道,C#中协议(protocol)和委托(delegate)的等价物。所以这是我的协议(protocol),定义协议(protocol)的类的接口(interface)和实现以及符合协议(protocol)的类的实现。我想知道这在C#中的等价物。请:)/******************************************///CommunicatorProtocol@classCommunicator@protocolCommunicatorDelegate@required-(void)communicator:(Communicator*)communicat

iOS - 从 NSUserDefaults :Attempted to dereference an invalid ObjC Object or send it an unrecognized selector 获取 NSDictionary

我尝试从已保存的NSUserDefaults中检索NSMutableArray。我存储NSMutableArray:NSUserDefaults*defaults=[NSUserDefaultsstandardUserDefaults];NSMutableArray*mySavedTremps=[[defaultsobjectForKey:UD_MY_TREMPS]mutableCopy];if(!mySavedTremps)mySavedTremps=[[NSMutableArrayalloc]init];NSMutableDictionary*trempDict=NSMutable

ios - Objective-C 编译器遗漏了协议(protocol)定义

我正在编写几个使用Objective-C运行时库的类。这包括在运行时根据名称检索协议(protocol)定义。但是,似乎未被类显式采用或在代码中使用@protocol(ProtocolName)引用的协议(protocol)被排除在编译之外,并且在运行时不可用。例子:@protocolMyProtocol-(void)doSomething;@end//代码中的其他地方Protocol*protocol=NSProtocolFromString(@"MyProtocol");//^valueof"protocol"willbenilwhenIruntheapplication!//但是

ios - 由于协议(protocol)不匹配,Cordova 包装器中的 Angular Leaflet 不加载图 block

我刚刚开始使用AngularLeaflet指令(http://tombatossals.github.io/angular-leaflet-directive/#!/),我正在尝试将其集成到Ionic项目中。在浏览器上,一切正常:加载了map图block。当我使用XCode编译应用程序并在iOS模拟器中运行时,图block没有按预期加载。当我使用检查器时,我注意到加载的图block的html格式如下:请注意src属性缺少协议(protocol)。在Cordova包装器中,应用假定这应该是file://,自然无法加载到图block中。有什么办法可以:显式添加http://协议(proto

ios - 什么是 objc_selector 实现?

这个问题在这里已经有了答案:HowdoSELand@selectorwork?[duplicate](2个答案)关闭7年前。我发现SEL类型有下一个定义:typedefstructobjc_selector*SEL;但是我找不到objc_selector是如何实现的。好的,如果我们有下一段代码#importintmain(intargc,constchar*argv[]){SELmySelector=NSSelectorFromString(@"mySelector");return0;},那么mySelector只是一个指针。在它包含的地址之后,我们看到了C字符串,它可以呈现如下:c

c# - Xamarin:绑定(bind)返回协议(protocol)的 objective-c 协议(protocol)

我的应用程序中有以下2个协议(protocol):@protocolDisplayItem-(void)itemSelected:(NSString*)itemId;@end@protocolDisplayerFactory-(UIViewController*)createItemDisplayer;@end我使用ObjectiveSharpie来绑定(bind)它们,我得到了以下绑定(bind)://@protocolDisplayItem[Protocol,Model][BaseType(typeof(NSObject))]interfaceDisplayItem{//@requ

ios - 对类对象使用 objc_setAssociatedObject 是否正确?

对类对象使用objc_setAssociatedObject是否正确?我们经常用这样的静态变量来模拟类变量:ObjectiveCStaticClassLevelvariables但是,我们可以使用关联对象作为替代方案吗?objc_setAssociatedObject([selfclass],&STRING_KEY,myString,OBJC_ASSOCIATION_RETAIN); 最佳答案 是的,类对象是一个成熟的对象,因此您可以对它做任何您可以对常规对象做的事情。但是,使用全局变量更清晰、更简单。附注将它与[selfclass

ios - 找不到 'MFMailComposeViewControllerDelegate' 的协议(protocol)声明;你是说 'UIPageViewControllerDelegate' 吗?

这段代码:#import#import#import#import"MessageComposerViewController.h"#import@interfaceMapViewController:UIViewController//Addthedelegate-(IBAction)showEmail:(id)sender;{IBOutletMKMapView*mapView;}@property(nonatomic,retain)MKMapView*mapView;@end这个问题或错误:找不到“MFMailComposeViewControllerDelegate”的协议(pr

iphone - iOS 5 中的协议(protocol)和分配属性

我正在尝试在iOS5中创建我自己的自定义委托(delegate)。在iOS4中,我通常使用'Assign'属性:@property(nonatomic,assign)iddelegate;现在,当我尝试综合时,我收到以下错误消息:error:AutomaticReferenceCountingIssue:Existingivar'delegate'forunsafe_unretainedproperty'delegate'mustbe__unsafe_unretained有什么想法吗? 最佳答案 这个错误是因为ARC下ivars默认

ios - 重复符号 _OBJC_IVAR_$_AFHTTPRequestOperation._responseSerializer 在

我正在使用Chilkat并在安装AFNetworking后遇到这些错误:Undefinedsymbolsforarchitecturearmv7:"_res_9_query",referencedfrom:ChilkatResolve::bestMxLookup(charconst*,StringBuffer&,LogBase&,bool)inlibchilkatIos.a(ChilkatResolve.o)ChilkatResolve::dkimLookup(charconst*,StringBuffer&,LogBase&,bool)inlibchilkatIos.a(Chilka