Tag: exc bad access

正确的创build新对象的方法是在应用程序委托中定义的NSDictionary和NSArray对象的副本

我想知道什么正确的方法是在应用程序委托或单身人士对象中定义一个对象的副本。 总之,我正在制作一个需要用户login的应用程序。 这个login视图只是一个在“真实”应用程序之上的模式视图控制器,它由一个tabbarcontroller和一些tableview控制器组成。 成功login后,向远程服务器发送数据请求,模式视图控制器被解除,显示包含XML数据的TabBar控制器和表视图。 为了parsing传入的数据,我创build了一个名为DataParser的单例对象,它具有接口 … @interface DataParser : NSObject { // Data objects that hold the data obtained from XML files NSMutableDictionary *personnel; NSMutableDictionary *schedule; NSMutableDictionary *today; } @property (nonatomic, retain) NSMutableDictionary *personnel; @property (nonatomic, retain) NSMutableDictionary *schedule; @property (nonatomic, retain) NSMutableDictionary *today; … 现在,在这些字典中,我存储(可变的)字典和数组,其中包含了parsingXML数据的NSString对象。 由于我不想修改这些原始的对象来保存parsing的数据(也就是说,我只想在login阶段修改它们,而不是在任何的tableview控制器中修改),我正在创build一个新的字典对象,每个tableview控制器上面的一个字典的内容的副本。 所以例如,在一个名为ScheduleViewController的视图控制器的loadView中,我有 … @interface ScheduleViewController : UITableViewController { NSDictionary […]

在Swift for iOS 7.1中解压.sks文件

我有一个应用程序,它使用以下扩展名从iOS 8中的.sks文件很好地加载: class func unarchiveFromFile(file : NSString) -> SKNode? { if let path = NSBundle.mainBundle().pathForResource(file as String, ofType: "sks") { var sceneData = NSData(contentsOfFile: path, options: .DataReadingMappedIfSafe, error: nil)! var archiver = NSKeyedUnarchiver(forReadingWithData: sceneData) archiver.setClass(self.classForKeyedUnarchiver(), forClassName: "SKScene") let scene = archiver.decodeObjectForKey(NSKeyedArchiveRootObjectKey) as! GameScene archiver.finishDecoding() return scene } else { return nil } } 但是,当我在运行iOS 7.1的设备上使用它时,我在AppDelegate上获得了一个EXC_BAD_ACCESS代码EXC_I386_GPFLT,并在日志中获得了这个代码: […]

iOS UITableView在滚动时崩溃

我在这里遇到了一个奇怪的问题。 我正在开发一个iOS应用程序(特别是iPad),我在某个时候使用UITableView来显示一个列表。 现在,当我在视图的边界内滚动(不在第一个元素上面,而不是在最后一个元素下面)时,它可以正常工作。 然而,当我滚动的时候,它只是猛烈地崩溃,没有其他消息: 当我向下滚动到最后一个元素时, EXC_BAD_ACCESS 当我滚动比第一个更高时,带有回溯的SIGABRT 我看着谷歌,似乎我释放一些对象太多,但我无法弄清楚哪些。 我也尝试在乐器中运行应用程序,但每次运行应用程序时,乐器窗口都会冻结,迫使我用手杀死它…当然,我得不到任何结果… 这里有一些相关的代码: /* Returns the cells of the table view */ -(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { // Create a new cell view static NSString *CellIdentifier = @"Cell"; UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier]; if (cell == nil) { cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease]; } // […]

在视图之间来回切换时,EXC_BAD_ACCESS会崩溃

在视图之间来回切换时,出现EXC_BAD_ACCESS崩溃。 我有一个问题,find这个崩溃的原因。 在模拟器中,它总是返回到main.m文件并报告崩溃。 但是在我的设备上,当我在dealloc方法中释放EXC_BAD_ACCESS时,在我的自定义UITableViewCell上显示。 如果我启用NSZombieEnabled我的应用程序不会崩溃。 这是.h文件 #import <UIKit/UIKit.h> #define kWinsAmountTagValue 2 // how many wins you have #define kWinningsAmountTagValue 3 // how much money you won @interface MyStatsViewController : UIViewController <UITableViewDelegate, UITableViewDataSource, UINavigationBarDelegate, UINavigationControllerDelegate>{ NSArray *list; UITableView *theTable; UITableViewCell *theCell; } @property (nonatomic, retain) NSArray *list; @property (nonatomic, retain) IBOutlet UITableView *theTable; @property (nonatomic, retain) […]

EXC_BAD_ACCESS,但不使用断点

我的应用程序崩溃了。 它发生在dismissModalViewControllerAnimated:消息,但是…如果我在NSLog上设置了一个断点,并且跨越,它经历了问题,EXC_BAD_ACCESS代码是2和地址0x4: Thread 1: EXC_BAD_ACCESS(code=2, address=0x4) 我从来没有一些工作与断点和EXC_BAD_ACCESS没有他们,有什么想法? 请注意,我的appController是好的。 (不在任何地方发布)。 if (appController.modalViewController) { NSLog(@"==== RETAIN COUNT ====> %d", appController.modalViewController.retainCount); [appController.modalViewController dismissModalViewControllerAnimated:NO]; } 保持计数日志为1 这也只适用于iOS 4.2,而我的应用程序仅在iPad上运行

IOS:在64位设备崩溃

有人可以解释为什么我的应用程序崩溃,出现以下错误: EXC_BAD_ACCESS(代码= 1,地址= …) 此崩溃仅在64位设备中发生。 我无法弄清楚。 – (NSString *)getIPAddress { NSString *address = nil; struct ifaddrs *interfaces = NULL; struct ifaddrs *temp_addr = NULL; int success = 0; // retrieve the current interfaces – returns 0 on success success = getifaddrs(&interfaces); if (success == 0) { // Loop through linked list of interfaces temp_addr = […]

XCode – EXC_BAD_ACCESS。 –

我试图把Stefanhafeneger的条形码源代码join到我的项目中。 我用一个简单的相机例子和条形码引擎开始,第一个条形码解码的一切正常。 当我第二次尝试时,我收到EXC_BAD_ACCESS。 它只会在应用程序崩溃之后运行一次。 这里是应用程序崩溃的屏幕录制。 我正在testing这个DataMatrix标签从谷歌在我的应用程序。 我正在冲浪的解决scheme了几天,我曾尝试NSZombieEnabled,并与仪器debugging,但我仍然没有运气。 下面的图片是来自xcode的错误。 *** -[Not A Type retain]: message sent to deallocated instance 0x7b21ed0 为了您的信息,它是一个启用ARC的项目。 有人请帮忙,我还是几个月大的初学者。 这是我的这个项目Barcode-Datamatrix Project的 xCode文件 更新:我也尝试通过使用链接器标志-fno-objC-arc而禁用与该库相关的每个文件的ARC,但结果仍然相同。 除了我试过imageView.image = [UIImage imageWithCGImage:image.CGImage]; 或复制imageView.image = [image copy]; 该应用程序仍然崩溃在同一个地方。 非常感谢

如何理解EXC_BAC_ACCESS(SIGSEGV)KERN_INVALID_ADDRESS日志?

我正在为Titanium for Android和IOS做一个应用程序。 当我在应用程序中导航很多时,我有一个随机的exception和应用程序崩溃。 我怎么知道问题在哪里? 该应用程序有点复杂的解释: 它有两个窗口,第一个窗口是仅用于肖像模式的“home”视图,而当我单击以转到另一个视图时,closures第一个窗口,打开另一个窗口,然后添加一个视图窗口。 内容视图使用不同的URL加载相同的Web视图。 该应用程序加载好,我可以浏览不同的意见和窗口确定。 但是,当我导航了很多,最后我有一个EXC_BAC_ACCESS(SIGSEGV)和KERN_INVALID_ADDRESS 这只发生在设备上(在模拟器上工作正常)与iPad操作系统5.1.1和操作系统7.0.2。 这是线程崩溃的日志: Incident Identifier: 1A3E94A0-E6FC-4BFF-BB3B-7651D66664DE CrashReporter Key: d4422d11c83ca9acf2212996b20dd1078f00f36c Hardware Model: iPad3,3 Process: Appname [16747] Path: /var/mobile/Applications/1BACB160-AED8-4F5F-A599-4F7F1F4A4DC4/Appname.app/Appname Identifier: Appname Version: ??? (???) Code Type: ARM (Native) Parent Process: launchd [1] Date/Time: 2013-10-31 11:56:58.680 +0100 OS Version: iPhone OS 5.1.1 (9B206) Report Version: 104 Exception Type: EXC_BAD_ACCESS […]

如何解决/处理委派EXC_BAD_ACCESS错误? Obj C

我正在编写一个我想要打包和销售的库(Obj-C for iPhone),所以我显然需要在出售之前找出任何devise扭结。 我也利用这个库来帮助我开发另一个应用程序。 我的图书馆是build立在任务授权之上的。 我所拥有的主要function是启动一个(可能)长时间运行的过程,当完成时,我会在类的委托中调用委托协议方法。 另外一个复杂的因素是,我会经常安排这个任务每隔30秒左右发射一次。 通常,我使用[self performSelector:@selector(someMethod 🙂 withObject:nil afterDelay:30]来执行此操作,而不是使用NSTimer。 然后,当委托方法成功返回时,我处理返回的数据并触发另一个30秒的方法。 这给我30秒间BETWEEN方法调用,而不是从一个呼叫开始到下一个30秒。 (这主要是为了防止电话超过30秒,这不应该发生。) 我遇到的错误是,有时,委托callback方法失败,出现EXC_BAD_ACCESS错误。 根据我的调查,自从长期运行的过程开始以来,我的class级代表似乎已经消失了(被释放/处理)。 因此,当它调用[[self Delegate] doSomeDelegateMethod]时,它正在访问一个已发布的对象。 我试着首先检查[[自我委托] respondsToSelector:@selector(doSomeDelegateMethod)],但即使该访问显然也会引发EXC_BAD_ACCESS。 似乎还没有检查[self Delegate] ==零是正确的路要走。 一种方法,我想我已经解决了这个问题,在这个特定的情况下,是实例化我的对象的视图控制器正在消失(因此在垃圾转储的途中),我调用[NSObject cancelPreviousPerformRequestsWithTarget:self]。 这显然解决了这个问题。 (这个“修复”是否也表明我的对象“知道”来电的呼叫,并保持自己的记忆,直到它能够成功,拼命地开除最后的镜头?) 这似乎把一个创可贴的伤口。 是的,这似乎阻止我的应用程序打破这一次,但我的直觉告诉我,这是一个糟糕的解决scheme。 我也考虑过在我的viewWillDisappear:animated:方法中将自定义对象设置为零,这可能是正确的编码模式,但客户在处理我的对象时不得不如此精确。 然而,真正困扰我的是,作为一个图书馆开发者,我还没有find一种方法来“框入”我的代码,以便它不会为用户抛出exception,如果他们不做正确的事情。 基本上,我想要一个方法来得到我的对象: 获取请求。 去寻找答案。 find答案。 尝试返回答案。 意识到在另一端没有任何东西。 放弃自己而死。 (好吧,“自己死”可能不会发生,但你明白了。) 一个有趣的一面: 我有防止这种types的错误发生的主要原因是这样的: 我做了以下步骤: 构build我的库的.h / .m文件。 生成我的库的.a输出文件。 将我的图书馆的.a / .h文件导入到另一个项目中。 有上面描述的错误。 必须仔细阅读.m文件中应该隐藏在.a文件中的代码。 我在这里错过了什么? 如果它为客户端引发错误,我真的冒着暴露我的整个源代码的风险吗? […]

EXC_BAD_ACCESS(SIGSEGV)

我从远程用户得到这个崩溃报告,但我找不到任何有用的提示来解决这个问题,可能是一个保留问题,但我不明白为什么,因为我使用ARC。 很less的用户正在发布这个问题。 我已经在模拟器和设备上(iPhone 4s)尝试了所有的东西,没有发生任何崩溃事件…如果我能够在我的设备上崩溃,将很容易找出问题所在。 有人知道如何解决这个问题? Incident Identifier: F30F9C75-0FE3-4B39-AA17-209690A4787D Hardware Model: iPod4,1 Process: Body-Language [1220] Path: /var/mobile/Applications/2489EE05-177C-4AD1-BE3A-7B7158E13D82/Body-Language.app/Body-Language Identifier: Body-Language Version: ??? (???) Code Type: ARM (Native) Parent Process: launchd [1] Date/Time: 2012-03-19 23:09:02.516 +0100 OS Version: iPhone OS 5.1 (9B176) Report Version: 104 Exception Type: EXC_BAD_ACCESS (SIGSEGV) Exception Codes: KERN_INVALID_ADDRESS at 0x6c707049 Crashed Thread: 0 Thread […]