gpt4 book ai didi

iphone - 从 NSString 中提取子字符串的线程

转载 作者:行者123 更新时间:2023-12-03 20:51:15 26 4
gpt4 key购买 nike

我正在使用适用于 iOS 的 RedPark 串行电缆进行一些工作。这是一条允许 iOS 设备和其他设备(例如微 Controller )之间进行串行通信的电缆。

RedPark SDK 附带了一种方法,可以读取串行线上可用的字节。只要电缆收到信息,就会调用此方法。

(void)readDataBytes(UInt32 bytes) {
NSString *s = [[NSString alloc] initWith...bytes];
NSString *editedString = [self extractSubStringMethod:s];
[myArray addObject:editedString];
}

微 Controller 正在以以下格式发送信息

<msg>xxxxxxxxxxxxx</msg>

我希望能够从消息中提取 x(作为 NSString 接收)。目前,我正在使用 NSRange 提取位置 4(第一个 x)之后和最后一个“”之前的所有内容,我不相信它有效,想知道还有其他想法吗?

最后,我有一个与此一起运行的 NSThread,我将消息添加到 NSMutableArray 中。所以我想要的是,当从电缆收到消息时, NSThread 能够操作/显示消息信息。我有类似以下内容

//Thread method, 
while([myArray count] > 0) //Don't believe this is neccesary but its in anyway
{
for(int i = 0; i < [myArray count]; i++){
NSString *string = [myArray objectAt(i)];
[self displayString:string];
[myArray removeObjectAt(i);
}
}

我相信它在上面崩溃了... [self displayString:string] 只是设置标签的值,类似于

-(void)displayString(NSString *string) {
label.text = [string charAt(1)];
}

上面的代码仅凭内存,因为我把 Mac 留在家里而我正在工作。任何建议/帮助将不胜感激

最佳答案

而不是

while([myArray count] > 0) //Don't believe this is neccesary but its in anyway
{
for(int i = 0; i < [myArray count]; i++){
NSString *string = [myArray objectAt(i)];
[self displayString:string];
[myArray removeObjectAt(i);
}
}

尝试这样:

while ([myArray count] > 0)
{
[self displayString: myArray[0]];
[myArray removeObjectAtIndex: 0];
}

关于iphone - 从 NSString 中提取子字符串的线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17741386/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com