안녕하세요. 많은 분들이 이미 어떻게 할 수 있는지 알고 있지만 제발 빨리 도와주세요. 프로그래밍 초급자입니다.신속한 4에서 [UInt8] 바이트 배열을 수정하는 가장 좋은 방법은 무엇입니까?
,이 코드를 고려하고 변화 제발 도와주세요
// 내 읽기 코드
let ReceiveData = rxCharacteristic?.value
if let ReceiveData = ReceiveData {
let ReceivedNoOfBytes = ReceiveData.count
myByteArray = [UInt8](repeating: 0, count: ReceivedNoOfBytes)
(ReceiveData as NSData).getBytes(&myByteArray, length: ReceivedNoOfBytes)
print("Data Received ",myByteArray)
}
// 지금처럼 일부 지역 변수로 저장하고있어 아래
let b0 = myByteArray[0]
let b0 = myByteArray[1]
let b2 = myByteArray[2]
let b3 = myByteArray[3]
// 이제 Textbox에서 가져온 일부 데이터를 삽입하려고합니다.
var tb1 = textbox1.text
var b1 = tb1.flatMap{UInt8(String($0))}
var tb2 = textbox2.text
var b2 = tb2.flatMap{UInt8(String($0))}
,515,
// 이제 여기
let Transmitdata = NSData(bytes: bytes, length: bytes.count)
peripheral.writeValue(Transmitdata as Data, for: txCharacteristic!, type: CBCharacteristicWriteType.withoutResponse)
print("Data Sent",Transmitdata)
이하 I 현재 클래스 선언 하에서 새로운 바이트 배열을 생성하고, 상기 수신 바이트 배열을 할당하는 것 같은 기능 블록을 사용하는 모든 데이터를 기록하고있다. 다음
아래class Example:UIViwecontroller{
var storebytes: [UInt8]()
func somefunc(){
storebytes = myByteArray
}
와 마찬가지로 myByteArray의 처음 두 위치의 장소에 내 텍스트 상자 데이터를 교환하려고하고 transmitdata에 전달합니다.
간단한 방법이 있습니까? 필요한 장소에 바이트를 삽입 한 다음 전송에 전달합니다.
나는
bytes.insert(new data,at: index)
같은 몇 가지 방법을 사용하여 시도했지만이 범위를 벗어 나에게 인덱스를 제공합니다. 누군가 그것을하는 더 나은 방법을 알고 있는가?
안녕 vadian, 감사의 범위를
hello
에
world
를 삽입 한 다음 얻을 수객체. 나는 약간 혼동 스럽다. 위와 같이 콜렉션 유형을 수행 할 수있는 방법을 내 코드에 표시 할 수 있습니까? :) – nar0909
무엇이'tb1.flatMap {UInt8 (String ($ 0)'}해야할까요? – vadian
안녕하세요. 감사합니다. :) textbox.text는 "12"라고 말하는 문자열을 반환하지만 변환해야합니다. 두 UInt8 숫자 그래서 내가 위의 플랫 맵을 사용할 때 나는 [1,2]와 UInt8을 얻는다. 희망은 도움이 – nar0909