草庐IT

objc-protocol

全部标签

ios - 如果我需要导入协议(protocol),如何避免导入周期?

在objective-C中,我创建了11个类,这些类是RLMObject的子类,用于表示我的数据库模型。到目前为止,我在用它构建我的应用程序时遇到了问题,因为正如标题中所述,他们似乎看不到对方。另外:它们在同一个文件夹中,#import本身不会产生任何问题。作为示例,我想提供两个类以下是Books类:#import#import"Chapter.h"@interfaceBook:RLMObject@propertyNSIntegerid;@propertyNSString*name;@propertyRLMArray*chapters;@end//Thisprotocolenables

ios - 为什么在 VIPER 架构中双向使用协议(protocol)而不是单向使用协议(protocol)

我们想将我的架构从MVC更改为VIPER。我按照http://mutualmobile.github.io/blog/2013/12/04/viper-introduction/阅读了基础教程源代码链接:https://github.com/mutualmobile/Counter-(void)createScreen{CNTCountViewController*view=[[CNTCountViewControlleralloc]init];CNTCountPresenter*presenter=[[CNTCountPresenteralloc]init];CNTCountInte

objective-c - ObjC 中最快的 : IsEqualToString: @"" or length > 0?

我想知道哪个测试iOS7.0+的非空NSString最快。注意:要测试的字符串将有99%的时间长度在2到100个字符之间。if([foolength]>0)或if([fooisEqualToString:@""]==NO&&foo!=nil)我认为这取决于isEqualToString:是否首先比较长度(并且在这种情况下第一种方式更快)或者isEqualToString:是否首先比较字符串的第一个字符(并且在那种情况下,第二种方式可能会更快)。ps:我已经知道isEqualToString:比isEqual:快,后者本身比compare:快。 最佳答案

ios - 如何在设计数据模型时使用 NSKeyValueCoding 协议(protocol)?

我一直在尝试创建一个数据模型类,同时遵循NSKeyValueCoding协议(protocol)。我不断收到以下错误:“找不到协议(protocol)声明”当我尝试#import"NSKeyValueCoding.h"时,我得到了找不到文件的错误。我在哪里可以找到这个协议(protocol)或者它还能如何实现? 最佳答案 NSKeyValueCoding是基金会的一部分。所以如果你#import你已经包含了标题。NSKeyValueCoding是一个非正式协议(protocol)。这意味着类没有明确地符合它。相反:该协议(proto

ios - "Symbol not found: _OBJC_CLASS_$_NSMutableURLRequest"崩溃

我在装有iOS7.1.1的iPad3上以Debug模式从Xcode5.1.1安装了我的应用程序,如下面的崩溃日志所示。在安装应用程序的那一天工作正常。我已经有2天没有使用我的iPad了,今天它刚开始就在闪屏上崩溃了。重新启动iOS没有帮助。知道为什么会发生吗?我会重新将CFNetwork和Foundation框架添加到我的项目中,以防万一,但也许是其他原因?可能是iOS中的错误吗?IncidentIdentifier:24087CE7-3EBE-4FFB-ABC0-091495F774BFCrashReporterKey:4d82b50f4190912e3298f7f5ba036ac0

ios - 是否可以使用 OCMock 来模拟类方法和协议(protocol)?

在OCMockdocs您可以轻松地模拟一个类或一个协议(protocol):idclassMock=OCMStrictClassMock([SomeClassclass]);idprotocolMock=OCMStrictProtocolMock(@protocol(SomeProtocol));我的问题是:你能两者吗?基本上我想模拟一个也实现了这个协议(protocol)的MPMediaItem:@protocolVBLoggableProtocol/**Returnsastringthatgivesadetaileddescriptionoftheproperitesofthiso

ios - objc_autoreleaseReturnValue 是什么意思?

我有一个方法createATestObject。顾名思义,它创建一个对象并返回它。代码很简单,在ARC下。-(TestObj*)createATestObj{return[[TestObjalloc]init];}我汇编文件并得到下面的汇编代码。Lfunc_begin4:.cfi_startproc@BB#0:push{r7,lr}movr7,spsubsp,#8@DEBUG_VALUE:-[ViewControllercreateATestObj]:self我注意到函数_objc_autoreleaseReturnValue并从here获得了关于它的引用.但我不知道这是什么意思。任何

java - 无法使用 URL 协议(protocol)处理程序从 HDFS 获取数据

我在java中运行以下程序时遇到问题(我是java的初学者)。这里的程序使用HDFS特定的URLstreamhandlerfactory来使用适当的协议(protocol)处理程序来访问HDFS。在eclipse中,它没有显示任何错误。我已将hadoop-common-2.2.0.jar放在构建路径中。packageorg.hdfs.prog;//ccURLCatDisplaysfilesfromaHadoopfilesystemonstandardoutputusinga//URLStreamHandlerimportjava.io.InputStream;importjava.ne

1251 - Client does not support authentication protocol requested by server; consider upgrading MySQL

1251-Clientdoesnotsupportauthenticationprotocolrequestedbyserver;considerupgradingMySQL这个错误表明您的MySQL客户端不支持MySQL服务器所请求的身份验证协议。这通常发生在MySQL服务器的密码插件与客户端不兼容的情况下。为了解决这个问题,您可以尝试以下几种方法:更新密码插件:登录到MySQL服务器,使用具有足够权限的用户帐户。运行以下查询以查看用户的密码插件:SELECTuser,host,pluginFROMmysql.userWHEREuser='your_user';如果插件是mysql_nati

hadoop - 在 ZooKeeper 中使用 Zab 协议(protocol)进行广播

早上好我是ZooKeeper及其协议(protocol)的新手,我对它的广播协议(protocol)Zab很感兴趣。能否提供一个使用Zookeeper的Zab协议(protocol)的简单java代码?我一直在搜索,但没有成功找到显示如何使用Zab的代码。事实上,我需要的很简单,我有一个MapReduce代码,我希望所有映射器在成功找到更好的X值(即更大的值)时更新一个变量(比如说X)。在这种情况下,领导者必须比较旧值和新值,然后将实际最佳值广播给所有映射器。我怎样才能在Java中做这样的事情?提前致谢,问候 最佳答案 您不需要使用