我正在做一些使用iOS的RedPark串行線的工作。這是一種允許iOS設備與其他設備(如微控制器)進行串行通信的電纜。從NSString中提取線程的子串
RedPark SDK提供了一種方法,用於讀取串行線路上可用的字節。只要有線電視收到信息,就會調用此方法。
(void)readDataBytes(UInt32 bytes) {
NSString *s = [[NSString alloc] initWith...bytes];
NSString *editedString = [self extractSubStringMethod:s];
[myArray addObject:editedString];
}
微控制器正在發送中的信息的格式如下
<msg>xxxxxxxxxxxxx</msg>
我希望能夠提取從該消息中X的(其被取作爲一個NSString)。目前我正在使用NSRange來提取位置4(第一個x)之後和最終的「</msg>之前的所有內容」我不相信它是有效的,並且想知道是否還有其他想法?
最後,我有一個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);
}
}
我相信它的崩潰圍繞上述... [自我displayString:字符串]只設置了一個標籤的價值,像
-(void)displayString(NSString *string) {
label.text = [string charAt(1)];
}
上面的代碼只是從記憶中,因爲我已將我的Mac留在家中,而且我正在工作。 任何建議/幫助將不勝感激