Iが配列ポインタは、配列内のものを変更するためにそれを通過した機能を有する:関数を参照して配列を渡す方法は?
- (ボイド)arrayFunction:(バイト[])targetarray { //は をtargetarrayするものを行う}を
これはバイト型の配列ですが、丸い角かっこで適切なものを入れたとは思いません。代わりに(Byte [])の代わりにすべきですか?この関数に渡されるサイズの異なる複数の配列が存在する可能性があります。
ありがとうございます!
(void)arrayFunction:(Byte*)targetarray
をまたは、代わりにバイト配列のNSDataのを使用し、より「○○っぽい」ように:それは、プレーン、古い配列だ場合
バッファオーバーフローを避けるために、配列サイズをパラメータとして渡すことを忘れないでください。 –
NSDataインスタンスを渡すことは、大部分の場合、NSDataラッパーのメリットを享受する(つまり辞書、NSUserDefaults、NSArchiverなどにドロップする)後に何か他の処理を行うつもりでない限り、大過剰です。それ以外の場合は、Cスタイルの配列を渡します。その目的のためにByte *を渡すだけですが、Adamは実際に使うべきであると指摘しました。 - (void)arrayFunction:(Byte *)targetArray length:(NSUInteger)length; –