iPhone redpark在大约20次读数后崩溃
我有下面的代码,我想知道为什么在aprox之后。arduino我的应用程序崩溃了20次。它与NSmutableArray有关。我有 NSMutableArray*值 而.m看起来像这样:iPhone redpark在大约20次读数后崩溃,iphone,objective-c,arduino,Iphone,Objective C,Arduino,我有下面的代码,我想知道为什么在aprox之后。arduino我的应用程序崩溃了20次。它与NSmutableArray有关。我有 NSMutableArray*值 而.m看起来像这样: - (void) readBytesAvailable:(UInt32)length { myString = [NSMutableString stringWithString:@""]; int bytesRead = [rscMgr read:rxBuffer Length:length
- (void) readBytesAvailable:(UInt32)length
{
myString = [NSMutableString stringWithString:@""];
int bytesRead = [rscMgr read:rxBuffer Length:length];
for (int i = 0; i < bytesRead; i++)
{
[myString appendString:[NSString stringWithFormat:@"%c",((char *)rxBuffer)[i]]];
}
NSArray *arrayValues = [myString componentsSeparatedByString:@","];
textView.text = [arrayValues objectAtIndex:1];
}
-(void)readbytesavable:(UInt32)长度
{
myString=[nsmutablestringwithstring:@'';
int bytesRead=[rscMgr read:rxBuffer Length:Length];
for(int i=0;i
(这不是一个真正的答案,但它太长了,无法发表评论)
- 即使由于电缆已连接,无法在Xcode中调试程序,您也可以稍后将iPhone连接到Xcode,并在Organizer窗口中查看控制台输出和设备日志
- 您确定
足够大以容纳数据吗rxBuffer
- 我会在不同的地方添加
语句来缩小问题的范围。特别是NSLog()
和length
的值会很有趣bytesRead
- 我会尽力解释。readBytesAvailable方法有一个循环,在每次迭代中,仅从数据缓冲区生成一个字符。
然后,如果您试图将Arduino发送到iPhone的完整行划分为数字,则会导致该应用程序崩溃。
例如,Arduino发送下一个由3个数字组成的字符串:“25 13 16”
iPhone应用程序在readBytesAvailable启动时,执行多次迭代,直到缓冲区为空,在循环内执行操作:
it.1=2
it.2=5
it.3=
it.4=1
它是0.5=.3
it.6=
it.7=1
it.8=6
it.9=错误消息是什么
NSMutableArray*值代码>未在代码中使用。是什么让你认为错误与此有关?没有错误消息,应用程序只是崩溃了。问题是我无法记录这些事情,因为redpark电缆已连接。但是,当您使用它时,我实例化数组的方式没有问题吗?谢谢您的回答,这实际上很有帮助@莫瑞德:好的,很好。您是否解决了问题,还是希望提供更多信息以便我们能够帮助您?