2017-12-09 12 views
-1

の同等?Objective-Cの私は、このJavaコードのObjective-Cの同等のものを書くことができますどのようにJavaの機能

public static @Nullable byte[] getUnknownData(Sample s){ 
    int length = s.data.length-index; 
    byte data[] = new byte[length]; 
    for(int i=0;i<length;i++){ 
     data[i]=s.data[UNKNOWN_STATUS_INDEX+i].byteValue(); 
    } 
    return data; 
} 

Objective-Cのコード:

- (NSData *)getUnknownData:(Sample s) { 
    int length = s.data.count-index; 
    NSData * data = [NSData alloc]init; 
    . . . ???? 
} 

答えて

1

あなたはNSDataの変更可能なサブクラスであるNSMutableDataを使用する必要があります。

-(NSData *)getUnknownData:(Sample s){ 
    int length = s.data.count-index; 
    NSMutableData *theData = [NSMutableData dataWithCapacity:length]; 

    theData.length = length; 
    char *theBytes = (char *)theData.mutableBytes; 
    for(int i = 0; i < length; ++i) { 
     theBytes[i] = (char)[s.data[UNKNOWN_STATUS_INDEX + i] intValue] 
    } 
    return [theData copy]; 
} 

あなたがそれぞれを変換する必要がありバイトの必要な量を確保した後、値を配列からデータオブジェクトにコピーします。

+0

私はこのエラーをしました:プロパティ「バイト」の型のオブジェクト私は、コードを適応してきた「NSArrayの *」 – Phil

+0

には見られません。のみサイドノートとして*バイトの必要な量を確保した後、 – clemens

+1

*:容量はインスタンスによって保持することができるバイト数の合計、単にヒントはありません。 –

関連する問題