小编Héc*_*mos的帖子

收到EXC_BAD_ACCESS信号

将应用程序部署到设备时,程序将在几个周期后退出并出现以下错误:

Program received signal: "EXC_BAD_ACCESS".
Run Code Online (Sandbox Code Playgroud)

该程序在iPhone模拟器上运行没有任何问题,只要我逐步执行一个指令,它也将调试和运行.一旦我让它再次运行,我就会EXC_BAD_ACCESS发出信号.

在这种特殊情况下,它恰好是加速度计代码中的错误.它不会在模拟器中执行,这就是它没有抛出任何错误的原因.但是,它会在部署到设备后执行.

这个问题的大部分答案都是针对一般EXC_BAD_ACCESS错误的,所以我会把这个问题保留为可怕的Bad Access错误.

EXC_BAD_ACCESS通常由于非法内存访问而被抛出.您可以在下面的答案中找到更多信息.

EXC_BAD_ACCESS以前遇到过这个信号吗,你是怎么处理它的?

cocoa-touch ios

284
推荐指数
10
解决办法
25万
查看次数

将iPhone应用程序转换为Xcode 4中的通用应用程序

我正在尝试将我现有的iPhone应用程序项目升级到通用应用程序,但我在Xcode 4中找不到任何选项来执行此操作.它在哪里?

objective-c universal-binary ios xcode4

25
推荐指数
2
解决办法
2万
查看次数

在Eclipse IDE中调试Java时将异常作为表达式捕获

Java开发人员的日常调试情况是抛出异常,然后您需要深入研究调试器以找出抛出的内容.通常,您会尝试在抛出异常之前设置一些断点,并希望您能够确定导致该异常的情况.

在Eclipse中,断点可以定义一个表达式,只有当变量x等于值y时才会触发断点.我的问题是,是否可以定义某种全局表达式,一旦抛出异常,它就被调试器捕获,允许程序员立即检查所有变量?理想情况下,您还没有遇到catch块,Eclipse将捕获引发的异常并停止执行而不更改堆栈内容.

这是可能的还是受JVM的限制?

java eclipse debugging exception

21
推荐指数
1
解决办法
9247
查看次数

将10 MB JSON响应转换为NSDictionary的最有效方法是什么?

我们的应用程序必须使用最少的远程http请求显示大量数据,因此我们在后端添加了一个端点,它将所有必要的数据作为单个json响应提供.这导致~1.5MB(压缩)或大约8 MB的未压缩的json格式文本.

没有太大问题,它会在10到30秒内下载,我们正在使用ASIHTTPRequest将整个响应写入磁盘.

现在是有趣的部分 - 在将未压缩文件读入内存映射字符串后,我们使用stig的json-framework将其转换为NSDictionary.这对我们的应用程序的其余部分以及其他API端点的典型2 KB json响应非常有效.但是,将这8 MB数据反序列化需要几秒钟(模拟器)到几分钟(3G和第二代iPod Touch).

我正在研究读取所有这些数据的最佳方法.

我很乐意使用直接从后端提供的二进制plist,但是我们使用Java并且我没有找到符合我们要求的合适库,并且在如此紧迫的期限内,编写我们自己可能不是最好的主意.

如果它以任何方式有帮助,我们正在解析的json字符串主要是X项的数组,如下所示:

{
    "items": [ { "key1": "value1", "key2": "value2" },
               { "key1": "value1", "key2": "value2" },
               { "key1": "value1", "key2": "value2" },
               { "key1": "value1", "key2": "value2" },
               { "key1": "value1", "key2": "value2" },
               { "key1": "value1", "key2": "value2" }
             ]
}
Run Code Online (Sandbox Code Playgroud)

将这个8 MB json格式的字符串读入内存中的NSDictionary的最有效方法是什么?

iphone json objective-c cocoa-design-patterns

6
推荐指数
1
解决办法
2376
查看次数

Tomcat了解amq:broker,但Eclipse标记了架构中的错误

在Eclipse中使用ActiveMQ时,有时可能会出现模式解析错误:

Caused by: org.xml.sax.SAXParseException: cvc-complex-type.2.4.c:
The matching wildcard is strict, but no declaration can be found for element 'amq:broker'.  
Run Code Online (Sandbox Code Playgroud)

但是,该项目在Tomcat中成功部署.

java eclipse activemq-classic springsource

5
推荐指数
1
解决办法
3086
查看次数

iPhone OS Utility App - Flipside View和Main View通信

我目前正在开发iPhone 2.1应用程序.我是Objective C的新手,来自Java背景.

我的应用程序以Xcode中的iPhone SDK提供的Utility Application模板为基础.目前我有一些控件,如UISlider和文本框FlipsideView.在UISlider已经有一个当值的变化,利用的目标和选择正被调用的方法.不过,我也希望能够阅读,从MainView,对当前(或最后一个)值UISlidertextbox.

请记住,我不熟悉Mac上的开发,并希望获得有关我应该查看此类信息的任何指导,无论是通过使用代理还是我遗漏了模板结构中明显的内容.

更新:我正在看结构并有更多细节:UISlider正在创建FlipsideView.m.我注意到Done按钮是从中创建的RootViewController.m,我可能应该将UISlider代码移到那里.我可能错误地使用了View保持在控制器中更合适的代码.

iphone cocoa-touch objective-c uiview ios

3
推荐指数
1
解决办法
5707
查看次数

在fetchAllIfNeeded之后调用objectForKey时,PFUser抛出NSInternalInconsistencyException

我的PFUser"firstName"和"lastName"上还有两列.他们保存得当; 我可以在数据浏览器中看到数据.

我有另一个PFObject"类",它具有一个带有NSArray PFUser的属性.我使用类方法+ fetchAllIfNeededInBackground:block:在PFObject上获取PFUsers数组.在回调块中,我在数组中的每个PFUser上调用objectForKey:但是我通过拥有的PFObject访问它们.

// invited is the NSArray of PFUsers
self.whoCell.mainLabel.text = [[self.plan.invited objectAtIndex:0] 
                                                  objectForKey:@"firstName"];
Run Code Online (Sandbox Code Playgroud)

调试器在objectForKey调用之前的断点处输出:

(lldb) po self.plan.invited
(NSArray *) $4 = 0x06e62a60 <__NSArrayM 0x6e62a60>(
<PFUser:GCCdPjCU2J> {
    firstName = Fake;
    lastName = Account;
    username = yyajnbafv53qw4yhjm9sfoiis;
}
)
Run Code Online (Sandbox Code Playgroud)

编辑:添加self.plan.invited的实现,因为上述内容具有误导性.

- (NSArray*)invited
{
  // self.dataSource is a PFObject*
  return [self.dataSource objectForKey:INVITED_PROP];
}
Run Code Online (Sandbox Code Playgroud)

然而,当上面调用它对objectForKey时:抛出此异常:

'NSInternalInconsistencyException', reason: 'Key "firstName" has no data.  Call fetchIfNeeded before getting its value.'
Run Code Online (Sandbox Code Playgroud)

编辑:访问传递给+ fetchAllIfNeededInBackground的块回调的fetchedObjects数组不会抛出,但是访问最初传递给+ fetchAllIfNeededInBackground …

objective-c ios ios5 parse-platform

2
推荐指数
1
解决办法
2931
查看次数