私は位置としてゼロをチェックし、NSIntegerをメソッドのオプションのパラメータにすることはできますか?
setData:(SomeClassName *)data inPosition:(NSInteger)position
と実施中の線に沿っての方法を持っていると思います。アイデアは、ポジションが提供されている場合、私はそれを使用し、そうでない場合、私はそれを自動的に割り当てます。
問題は、コンパイラの警告なしでNULLまたはnilを渡すことができないことです。
私はこのパターンを他の場所で見たと思います(オプションのパラメータ)。私はそれがNSIndexPathに関連している可能性があると思います。
NSNumberをラッパーとして使用する必要がありますか?または他の秘密がありますか?
私は別として、setData:とsetData:inPosition:という別のメソッドを使用することを検討しました。しかし、問題は、 'データ'は、データが属性であり、通常のivarではなく、実際には値を設定したいときには、すべてのKVOメッセージを送信することを忘れてしまいます。例えば、setData:withPositionの中では、標準のsetDataを呼び出すことはできません: - 私がその位置で行った作業を上書きします。
また、これらの2つの「より良い」解決方法を知ることにも興味があります。
NSNumberまたはoverloadを使用 – mshsayem
Objective-Cに過負荷はありません。 –