8

有时,当我无法使用 Python 时,我会感到难过。在 Python 中,我处理一组参数,将它们解包如下:

name, handle, parent_handle, [left, top, right, bottom], showing, scrollable = data

我现在必须在 Objective-C 中用NSArrays 做同样的事情。我注定要写 11 行:

NSString *name = (NSString *)[data objectAtIndex:0];
NSNumber *handle = (NSNumber *)[data objectAtIndex:1];
//....

或者,还有更好的方法?

4

1 回答 1

12

是的。你注定要失败。 注定! 哇哈哈哈哈哈!

您可以省略强制转换并使用下标使其更短一些:

NSString *name = data[0];
NSNumber *handle = data[1];
// ...

您可以省略强制转换,因为两者objectAtIndex:和下标都返回 type id,可以将其转换为任何 Objective-C 类类型而无需强制转换。

于 2013-09-10T18:41:19.833 回答