草庐IT

OBJC_IVAR

全部标签

ios - ld : warning: section __DATA/__objc_imageinfo__DATA has unexpectedly large size

有人知道这个警告是什么意思吗?紧随其后的是错误:命令/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/llvm-gcc-4.2失败,退出代码为1这是iPad的Xcode项目。我只在为模拟器而不是设备编译时看到这个。我已将静态库(*.a)链接到该项目,这就是我认为失败的地方。此外,它曾经在模拟器上运行没有问题,我不确定发生了什么变化。所有的编译器输出:Ld/Users/cduckering/Library/Developer/Xcode/DerivedData/IQ-bldfqilntfqfrccozykbqu

ios - 圆弧 : Setting compiler flags to -fno-objc-arc and build errors

在关于为特定类禁用ARC编译器机制的stackoverflow主题之后,我将-fno-objc-arc参数添加到CompileSources部分(TARGETS项目中的BuilPhases选项卡)下的CompilerFlags列。即使设置已经过验证,我也无法构建我的应用程序,因为编译器说retain、release等不能在ARC下使用。如何解决上述问题?提前谢谢你。 最佳答案 您是否使用迁移工具执行迁移?您是否将编译器标志添加到所有具有释放/保留的文件?我写了关于ARCmigrationonmyblog在这里。

ios - 可以在 block 中使用自己的 ivar(而不是使它们成为属性)

这个问题在这里已经有了答案:AssignmenttoivarinaBlockviaweakpointer(2个答案)Changinganinstancevariableinablock(1个回答)关闭9年前。这段代码:__weakVeryCool*weakSelf=self;something.changeHandler=^(NSUIntegernewIndex){if(newIndex==0){[weakSelf.optionsremoveObjectForKey:@"seller"];}};警告我未找到属性选项。这是真的,因为选项是一个ivar,但没有声明为属性。是否有可能以某种方

ios - CocoaLumberjack 错误 : Symbol not found: _objc_storeStrong

我是iOS开发的新手,正在尝试实现CocoaLumberjack日志记录。我从https://github.com/robbiehanson/CocoaLumberjack下载了最新的源,在我的项目中包含了所需的文件,进行了必要的代码更改,并收到如下所示的运行时链接器错误。环境为Xcode4.2Build4C199,项目Target设置为Device=iPad,DeploymentTarget=4.3。该项目最初是使用保留/发布编写的,所以我保留了原始源代码,为我正在使用的Lumberjack文件添加了编译器标志“-fobjc-arc”:DDFileLogger.m、DDLog.m和D

ios - ObjC/iOS - 大写每个单词的首字母而不修改其他字母

有没有一种简单的方法可以将字符串“dinomcCool”转换为字符串“DinoMcCool”?使用'capitalizedString'方法我会得到@"DinoMccool" 最佳答案 可以枚举字符串的单词,分别修改每个单词。即使单词由空格字符以外的其他字符分隔,这也有效:NSString*str=@"dinomcCool.foo-bAR";NSMutableString*result=[strmutableCopy];[resultenumerateSubstringsInRange:NSMakeRange(0,[resultle

ios - objc_retain EXC_BAD_ACCESS

我在使用当前的iOS5应用程序在iOS6上进行测试时遇到了一些错误。我们遇到过在内部使用block而不是属性的无害方法的方法返回锁定。问题是调用方法有效,方法中的每一行代码(包括使用代码的block)也是如此我尝试在调用block之前使用[blockcopy],但绝对没有任何变化。 最佳答案 原来我的代码的函数定义是在内部接口(interface)中声明的,没有返回类型。这里有一些图形来说明这个问题。初始错误堆栈轨道有问题的方法(与self隔离以确定问题的确切位置)函数实现(调用并返回)私有(private)接口(interface

iOS Admob 网络中介 : Duplicate Symbols Error With all_load and ObjC

我知道以前有人问过这个问题,但我已经尝试了所有我能找到的方法,但都没有奏效。我有一个功能齐全的iOS应用,现在我想将AdMob网络中介与其集成。我已经成功地让AdMob正常工作,但Mediator需要设置链接器“-all_load”和“-ObjC”(在其他链接器标志中)。果然,如果我在没有它们的情况下构建,则不会显示任何广告,并且在日志中它表示需要设置它们。问题是我无法使用all_load或ObjC集成功构建我的应用程序。我读到ObjC不是iOS应用程序所必需的,但即使没有它,我仍然遇到all_load的问题。问题是我收到此错误:ld:体系结构armv7的重复符号[此处的某些命令][某

objective-c - 如何在 Swift2 中使用 ObjC block 类型定义(尤其是当包含 BOOL 参数时)

在转向Xcode7(beta5)和Swift2之后,我在我的Swift代码中收到关于Bool(或BOOL/ObjCBool​​)使用Objective-Ctypedef从闭包传递(或传入)闭包的值。typedefvoid(^completion_success_block_t)(BOOLsuccess);当我在Swift类中使用此类型时,出现编译器错误。funcdoSomething(completionBlock:completion_success_block_t){doSomethingElse{successinifsuccess==true{}//(1)error1letfo

objective-c - UIActivityType – 属性不能是@objc 覆盖,因为它的类型不能在 Objective-C 中表示

在更新到Xcode8Beta6时,我看到引入了一个新类型:UIActivityType所以我尝试在我的UIActivity自定义类中做这样的事情:classFooActivity:UIActivity{funcretrieveActivityType()->String{return"someStringDescribingActivityType"}overrideopenvaractivityType:UIActivityType?{@objc(retrieveActivityType)get{returnUIActivityType(rawValue:"someStringDes

swift - 在 Swift 4 模式下使用 Swift 3 @objc 推理是否被弃用? (再次)

我已经测试了TheuseofSwift3@objcinferenceinSwift4modeisdeprecated?中的所有建议我的问题是:我可以以任何方式设置它,但在我本应使用推理(可能不知道)的地方没有得到任何特定错误。所以它仍然说:“在Swift4模式下使用Swift3@objc推理已被弃用。请解决已弃用的@objc推理警告,在启用“使用已弃用的Swift3@objc推理”日志记录的情况下测试您的代码,然后通过更改“Swift3@objcInference“projectUITests”目标的build设置为“默认”。这两个测试也以红色字体显示。如果我将@objc推断切换为开/