1つのことについていくつかのヒントが欲しいです:
tableview 列にバインドされた配列には、いくつかの数値 (float) 値があります。これらの値は、「0」、「1」、「2」などのラベルが付いたインターフェイス ボタンを使用して入力 (配列に配置) されます。入力をキャンセルする「C」ボタンもあります。
後で、この配列を使用していくつかの計算を行います。結果が入力されていない場合、配列のオブジェクトを 0 にすることはできません。「値なし」は確かに「nil」の方が適切に表されますが、nil オブジェクトを配列に挿入することはできません (nil は「配列の終わり」を意味します)。
NSArray にはオブジェクトが含まれます。つまり、ここでは、これらのオブジェクトは NSNumbers でなければなりません。[NSNumber numberWithDouble:…] double を入力して配列を初期化できますか? ここに nil を入れることはできません!
真の NSArray には「穴」は含まれません (できません)。しかし、たとえば、3 番目の項目が値を受け取っていない場合は、そうする必要があります。どうやって:
NSNumber に「未定義」の値を実装しますか? 「C」ボタンで以前に入力した結果を消去しますか?
解決策があるはずです。ApplescriptObjC では、トリックを使用しました。タイトルを使用して、すべてのボタンによって呼び出されるメソッドで帰属を行いました。
if sender's title as string is "C" then
set item theRow of gResult to missing value -- the row was the selected line, gResult was a AS list.
else
set item theRow of gResult to sender's title as real
end if
ここで何をすべきですか?- 特別な値 (-1 など) を選択して未定義の値を示し、NSPredicate を使用して配列をフィルタリングしますか? -特別な値が何かであり、セルに表示されるため、セルを「何もない」にするにはどうすればよいですか(でも)
この問題にはエレガントな解決策があると確信しています。でも今のところ、残っている髪の毛を引きちぎるだけです…</p>
助けてくれてありがとう…</p>