ExcelでScriptingBridgeを使用する場合、単一のセルの値を取得すると、そのセルからどのクラスを取得するのかわかりません。これまでのところ、単一のセルの範囲はNSString
orを返しますNSNumber
(複数のセルの範囲は常にanNSArray
を返し、そこから値を強制する必要があります)。私の仕事では、通常、セルの文字列値のみが必要なので、単一セル範囲の値を必要なものに強制変換するために、これを行います...
NSString *cellValue = [targetRange.value get];
if ([cellValue isKindOfClass:[NSString class]]) {
cellValue = [targetRange.value get];
} else if ([cellValue isKindOfClass:[NSNumber class]]) {
cellValue = [[targetRange.value get] stringValue];
}
私の問題は最初の行にあります(私はまだ少しリファクタリングを行っているので、当面は3番目の行を無視します)。クラスをテストするためにセルの値をキャプチャするためのより良いクラスはありますか?これらの最後の3行は問題なく機能しますが、それを行うのは完全に快適ではありません。直感的ではないように見えますが、一緒に行くのNSObject
は同じように奇妙に感じます。