草庐IT

objc-category

全部标签

iphone - 迪尔德 : lazy symbol binding failed: Symbol not found: _objc_setProperty_atomic

我收到这个错误dyld:惰性符号绑定(bind)失败:找不到符号:_objc_setProperty_atomic我添加了CaptureRecord框架。它在模拟器中运行良好。但是当尝试在实际设备上运行时出现此错误。请帮帮我。谢谢。 最佳答案 在我的案例中,是由于我的Xcode目标的iOSDeploymentTarget在iOS6.1上运行,同时在5.0模拟器上运行。 关于iphone-迪尔德:lazysymbolbindingfailed:Symbolnotfound:_objc_se

java - Google 的 j2objc 可以处理和转换二进制 JAR 文件吗?

我希望开始移动开发(特别是iOS),虽然我通常很擅长学习语言,但Objective-C几乎每次都让我感到困惑。因此,看看j2objc(因为我已经了解Java),我认为它可能符合我正在寻找的东西。不过,我的问题非常简单:转换器能否正确处理我的源代码引用二进制(字节码)JAR文件中的ApacheCommons代码的情况? 最佳答案 不,j2objc需要源代码(它使用Eclipse编译器的前端)。RoboVMproject不过,可以从类文件中工作。 关于java-Google的j2objc可以

ios - 核心数据 : Sort items by index in category's set

我有一个简单的目录管理器功能,其中包含类别中的项目,除了一个项目可以在多个类别中。Item有'parents'键,它是父类别的NSSetCategory有'items'键,它是它的子项的NSOrderedSet我正在使用NSFetchedResultController及其委托(delegate)来用项目填充我的表NSFetchRequest*fetchRequest=[[NSFetchRequestalloc]init];NSEntityDescription*entity=[NSEntityDescriptionentityForName:@"Item"inManagedObjec

ios - 从一个静态库导出“OBJC_CLASS”作为另一个库的一部分

我想创建一个静态库(实际上是一个框架,但是我知道该怎么做)将其他静态库中的代码捆绑在一起。但是,从原始库导出的OBJC_CLASS最终以未定义符号表示。例如,在Xcode5.1.1中(除非另有说明,否则在每个步骤中都使用默认设置/选择):创建一个名为LibA的新“iOS框架和库CocoaTouch静态库”项目。构建(对于模拟器或真实设备,都没有关系)。创建另一个新的名为LibB的“iOS框架和库CocoaTouch静态库”项目。将libLibA.a从LibA产品拖到LibB项目树中的Frameworks文件夹中。从静态库旁边的LibA目录中将include拖到LibB项目树的顶层。如下

ios - 为什么 methodLists 是指向 objc_class 中的指针的指针

方法列表和协议(protocol)都是链表,protocols是一个指针,而methodLists是一个指向指针的指针,为什么? 最佳答案 这是一个实现细节,它是Objective-C的历史和动态向类添加方法的能力的结果。具体来说,如果您查看method_list条目的内容,您会发现这些方法被分解为多个集合,其中每个集合包含对象上特定类别的所有方法。IE。如果您的应用程序要使用五个方法在UIView上定义一个类别(不要那样做——糟糕的设计),那么您会发现这五个方法附加到单个objc_method_list中的method_list的

ios - 如何使用来自 ObjC 类的 std::function 回调在 C++ 中进行异步工作?

大图我有一个C++库,可以执行包括网络在内的异步工作。它有一个特定于Darwin的后端,使用GrandCentralDispatch的CAPI将工作委托(delegate)给其他线程。现在我想通过一个薄薄的ObjC++层从一个用Swift编写的新iOS应用程序中使用该库。我在OSX10.10上使用Xcode6.3.2。在这个最小的示例中,我重新创建了上述架构。问题在于,当操作通过std::function回调返回时,启动异步操作的ObjC类实例以某种方式“中断”。如果将std::function声明为[&]而不是[=],则仅会发生这种情况。我不能使用后者,因为“真正的”C++代码不支持

ios - 如何在 Swift/ObjC 中实现将文本/媒体共享到聊天应用程序中的能力

我结合使用Swift2.3和ObjectiveC开发了一个iPhone聊天应用程序。聊天应用程序具有一组典型的功能,如联系人、聊天线程(房间)、发送和接收文本和二进制内容等。我想实现将文本和二进制信息发送到应用程序的功能(共享功能),这样我的用户就可以将来自第三方应用程序(如Safari、照片等)的URL、文本和图像共享到我的应用程序中。如何做到这一点?是否有示例代码或示例或教程?像这样: 最佳答案 您必须创建一个共享AppExtension在您的应用程序中。查看thistutorial(或thisone或thisother)完整示

ios - swift 3.0 : "objc_setAssociatedObject" issue

importUIKitimportObjectiveCvarSubRowObjectKey:String="subRow"extensionIndexPath{varsubRow:Int{get{letsubRowObj=objc_getAssociatedObject(self,&SubRowObjectKey)ifsubRowObj!=nil{return(subRowObjas!Int)}return0}set{letsubRowObj=(newValueasNSInteger)objc_setAssociatedObject(self,&SubRowObjectKey,subR

ios - 从 Objc 到 Swift 3 的 URLEncoding

我们在ObjectiveC中使用以下URL编码,现在我们正在迁移到swift。对于以下ObjC到swift3的等效编码是什么。-(NSString*)URLEncodedString{NSMutableString*output=[NSMutableStringstring];constunsignedchar*source=(constunsignedchar*)[selfUTF8String];intsourceLen=strlen((constchar*)source);for(inti=0;i='a'&&thisChar='A'&&thisChar='0'&&thisChar

ios - NSFetchedResultsController 中的 NSPredicate 没有使用 Category 的 getter

我有一个名为seconds的具有int_32属性的属性。在一个类别中,我将该属性重新声明为只读并重写getter以从其他属性创建它。问题是当我使用[NSPredicatepredicateWithFormat:@"SELF.seconds>%i"];谓词不起作用,因为谓词未调用getter。它在我的其他代码中调用得很好,只是不在谓词中。任何人都知道为什么会发生这种情况或如何解决这个问题?(除了重新创建NSFetchedResultsController)。 最佳答案 谓词被转换为SQL并在商店上运行。它不运行您的任何代码。因此,您只