草庐IT

lldb_injected_self

全部标签

objective-c - iOS:使用 self 导致内存泄漏?

使用XCode4中的分析器,由于设置如下属性,我收到了潜在内存泄漏的警告:self.newDog.dogName=self.dogNameTextField.text;具体的警告是:属性返回一个保留计数为+1(拥有引用)的Objective-C对象。在第513行分配的对象稍后在此执行路径中未被引用并且保留计数为+1(对象泄漏)如果我不使用self设置属性,警告就会消失......但我不确定这是否会导致其他问题,因为我读过的所有内容基本上都说在设置时总是使用self/获取属性:newDog.dogName=self.dogNameTextField.text;我在这里做错了什么吗?下面是

iphone - 如何像 [self Method_Name]; 一样使用 self 调用方法;当方法名称很长时 Like -(void)imagePickerController : (UIImagePickerController *)

我是iPhone开发新手。我想知道如何使用self调用方法,例如:[selfMethod_Name];当方法名很长的时候-(void)imagePickerController:(UIImagePickerController*)pickerdidFinishPickingImage:(UIImage*)imageeditingInfo:(NSDictionary*)editingInfo{...}W想使用self调用imagePickerController方法。我尝试用以下方式调用它:[selfimagePickerController];//CrashHere但是代码总是在这一行

ios - 强引用 `self` 使对象保持事件状态(暂时) : evil?

我正在为UIAlertView创建一个包装器(我知道UIAlertController和一些已经存在的包装器,它也用于教育目的)。假设它看起来像这样(非常简短的版本):@interfaceMYAlertView:NSObject-(void)show;@end@interfaceMYAlertView()@end@implementationMYAlertView-(void)show{UIAlertView*alertView=[[UIAlertViewalloc]initWithTitle:@"Sometitle"message:@"Somemessage"delegate:sel

ios - 使用 self.delegate 子类化 UITextField 会导致应用程序卡住,CPU 峰值达到 100%

我有一个UITextField的子类,它设置了self.delegate=self。该子类用于防止将特殊字符输入到UITextField中。起初它工作正常,但在按下几个键后,CPU峰值达到100%并卡住了应用程序。Xcode中没有崩溃日志,因为该应用程序从未真正崩溃过,它只是保持卡住状态,直到我停止它。经过一些研究,我确定问题是将delegate设置为self-显然我应该为UITextField创建一个单独的delegate?我在网上搜索过,但找不到任何关于如何执行此操作的有用信息。我的AcceptedCharacters子类:AcceptedCharacters.h#import@i

ios - 台风 Storyboard : Inject an IBOutlet View to a Controller dependency

我有一个Storyboard,其中有一个View使用socket连接到他的Controller。在同一个Controller中,我想注入(inject)一个需要访问该View的对象。我不想将该View手动传递给对象,而是希望自动注入(inject)它,但我不知道如何以及是否可以使用当前代码结构实现它。classLoadingViewController:UIViewController{@IBOutletweakvarloadingView:UIActivityIndicatorView!private(set)varloadingViewModel:LoadingViewModel!

ios - Hello world 命令行 LLDB iOS 无法解析 'main' 中的断点

我已经提取了debugserver并将其复制到我越狱的iPhone5S上。然后我在我的mac上运行LLDB并使用说明连接它here.我使用SSH/SFTP复制了一个用C语言编写并为ARM64编译的简单的helloworld程序到我的iPhone5S上,并对其进行了chmod。我使用了命令:./debugserver*:1234helloworld64_full其中helloworld64_full是设备上的可执行文件。然后我开始连接到iPhone:platformselectremote-ios和processconnectconnect://localhost:1234停止在:Pro

ios - 可以将 "self"与 NSSortDescriptor 一起使用以按对象本身而不是对象的属性进行排序吗? (核心数据/NSFetchedResultsController)

NSSortDescriptor有方法sortDescriptorWithKey:ascending:selector:。这会获取正在排序的对象,找到对象的key键值编码属性,然后将该属性发送到指定的选择器。我想将对象本身发送给选择器,以通过其中一种方法直接对对象进行排序。我尝试了@"self"键,但失败并出现以下错误:[NSSortDescriptorsortDescriptorWithKey:@"self"ascending:YESselector:@selector(compare:)];'NSInvalidArgumentException',reason:'keypath#s

ios - 使用 lldb 进行远程调试 - 等待进程

我知道如何等待并附加到本地进程(processattach--nameprocname--waitfor)。我也知道如何运行远程debugserver并连接到它。但是我如何才能等待进程在远程主机上启动并附加到它呢?编辑我试过了@Jim'ssuggestion,似乎调试服务器实际上是尝试连接但失败。我接受他的回答,因为它是正确的,但我很高兴知道为什么我不能真正调试该过程。仅供引用,我正在尝试在JBiPhone上调试mdmd(mdm守护进程服务)。该进程启动几秒钟以与mdm服务器通信,然后结束。这是来自目标的终端:~root#debugserver*:1234debugserver-310

ios - Objective-C:将代码注入(inject)委托(delegate)方法

我想要什么我想在我的应用程序中添加一些日志记录代码,而不必更新我所有的ViewController。我尝试过的我试图将一个类别添加到UIViewController并覆盖其中一个委托(delegate)方法。但是,这产生了几个警告/错误。有没有办法将代码注入(inject)到我应用的所有ViewController中? 最佳答案 查看methodswizzling.它是一个强大的工具,可以为您节省大量时间。调配您希望登录的方法之一,然后调用原始方法让它执行它最初应该做的事情。 关于ios

ios - 如何最好地为 ARC 的委托(delegate)保留 self ?

想象一下三个类(class)。A类和B类是我的。第三类是UIViewController,我无法修改其代码:在A类中:-(void)aMethod{ClassB*classBInstance=[[[ClassBalloc]init]goWithOptions:options];}ClassBInstance仅在aMethod的生命周期内保留。在B类中:-(void)goWithOptions{AUIViewController*avcInstance=[[AUIViewControlleralloc]init];avcInstance.delegate=self;[viewContro