草庐IT

lldb_init_module

全部标签

iphone - 我应该以编程方式在 init 或 ViewDidLoad 中添加 subview ,为什么?

我在这里浏览了一些答案,我得到了两个不同的建议:加入初始化。Exampleinthisanswer添加ViewDidLoad。Suggestedinthisanswer哪个是当前的最佳实践?第二个答案似乎更旧(2010年),所以我想知道它是否是一个旧的、不再建议的做法? 最佳答案 不,永远不要在init中做这样的事情。我viewDidLoad甚至viewWillAppear,从来没有在init中,因为你的View当时可能不存在,当我开始时,它一直在我身上发生,我正在为一个不存在的UILabel设置一些字符串,并使应用程序崩溃,但这在

ios - 如何在 Xcode lldb 控制台窗口中显示 UITableView indexPath.row

如何在控制台窗口中打印出UITablesindexPath.row。我不想到处添加NSLogs。我一直收到“不是成员(member)”或属性(property)。(lldb)expr(int)printf("%d\n",self.lastChangedIndexPath->_row)error:'NSIndexPath'doesnothaveamembernamed'_row'(lldb)printself.lastChangedIndexPath->_rowerror:'NSIndexPath'doesnothaveamembernamed'_row'(lldb)printself.

iphone - 解释 alloc/init 发生两次

我知道这个问题听起来很愚蠢,但请耐心等待。我构建了一个应用程序来帮助新开发人员围绕iPhone上的内存保留问题(还没有ARC)。它简单明了,4个按钮,初始化、访问、保留和释放。非常self解释。我正在显示我的字符串对象的保留计数,这是我们戳和戳的目标。(请不要讲授[myVarretainCount]的使用,我已经知道了)这些东西永远不会变成实际的应用程序,只是为了好玩而玩弄它,并希望能帮助人们了解内存的工作原理。我的保留和释放都很好用。我的问题是,如果我调用myString=[[NSMutableStringalloc]init];为什么我的保留计数会回落到1?再次。我可以将我的保留计

objective-c - 代码/LLDB : How to get information about an exception that was just thrown?

好的,假设我在objc_exception_throw中的断点刚刚触发。我正坐在调试器提示符下,我想获得有关异常对象的更多信息。我在哪里可以找到它? 最佳答案 异常对象作为第一个参数传入objc_exception_throw。LLDB提供了$arg1..$argn变量来引用正确调用约定中的参数,从而使打印异常详细信息变得简单:(lldb)po$arg1(lldb)po[$arg1name](lldb)po[$arg1reason]确保在执行这些命令之前选择调用堆栈中的objc_exception_throw帧。请参阅WWDC15s

objective-c - iOS NSMutableData *data = [[NSMutableData alloc] init];崩溃

我在函数中使用下面提到的行NSMutableData*data=[[NSMutableDataalloc]init];我很快就调用了这个函数(例如100次)。所以我的问题是,最初它工作正常大约60次或更多次,但之后它给了我“BAD_EXC_ACCESS”函数如下+(NSString*)recvToFile:(NSString*)_fileName{@try{int_sz=[selfrecvNumber:4];uint8_tt[_sz];NSMutableData*data=[[NSMutableDataalloc]init];NSMutableData*fileData=[[NSMut

ios - Crittercism更新到5.6.2后出现编译错误 "Could not build module ' Crittercism'”

我已将Crittercism的pod更新到最新版本5.6.2,我的项目在屏幕截图中显示了编译器错误。仅供引用:我正在Xcode8中检查我的项目。 最佳答案 尝试使用适当的目标包装您的Pod文件。target“TARGET_NAME”dopod'XYZ','~>1.'end按照以下步骤:删除广告连播清理派生数据。再次重新安装pod。这应该清除错误,因为声明是正确的。更新:尝试向CrittercismSDK/CrittercismVersion.h添加新行#defineCRITTERCISM_VERSION@"5.6.2"[Hitent

objective-c - 在 NSObject 子类的自定义 init 方法中使用 self = [super init]

我正在继承NSObject@interfaceMyClass:NSObject{}-(id)customInit;@end并在其中实现一个自定义的初始化方法,-(id)customInit{self=[superinit];if(self){returnself;}returnnil;}并如下创建MyClass的实例MyClass*myClassInstance=[[MyClassalloc]customInit];现在我的问题是,如果我使用不带self=[superinit]的customInit方法,我会错过什么?如下所示,-(id)customInit{returnself;}我

ios - 由于 LLDB,Xcode 在尝试运行项目时崩溃

当我点击“运行”时,无论我的代码如何,Xcode都会立即崩溃。崩溃报告说无法正确读取LLDB插件:Errorgettingvalueforkey'workerClass'ofextension'Xcode.DebuggerFoundation.Debugger.LLDB'inplug-in'com.apple.dt.dbg.DebuggerLLDB'崩溃报告:Process:Xcode[2184]Path:/Applications/Xcode.app/Contents/MacOS/XcodeIdentifier:com.apple.dt.XcodeVersion:5.0.2(3335

ios - 继承 MKAnnotationView 并从 initWithFrame : overloads 调用 init 时无限循环

有这个XCTestCase案例:-(void)testAllInitializersConfigureTheView{BIStationAnnotationView*withFrame=[[BIStationAnnotationViewalloc]initWithFrame:CGRectNull];XCTAssertTrue(CGRectEqualToRect(withFrame.frame,CGRectMake(0.f,0.f,30.f,40.f)),@"Frameshouldbefixed");}测试MKAnnotationView的子类:-(id)init{if(self=[su

ios - X代码/LLDB : po $eax and po $r0 only display ints for __cxa_throw exceptions?

在使用LLDB研究调试异常时,我发现了以下文章和线程,以及其他提供相同信息的文章:https://www.natashatherobot.com/xcode-debugging-trick/Xcode/LLDB:Howtogetinformationaboutanexceptionthatwasjustthrown?当尝试这些的变体时,我能得到的最好结果是一个int:(lldb)po$rax106377751137688当将它插入Xcode内存查看器时,尝试将其作为base-10和hex值,似乎没有对象存储在那里。我得到诸如B80B0C160100000003...之类的结果,然后是眼