如何在Objective-C内联中声明好的旧C-Array?

mon*_*cht 5 arrays objective-c

这是我的一段代码:

NSUInteger indexArr[] = {1,2,3,4};

NSIndexSet *indexSet = [NSIndexPath indexPathWithIndexes:indexArr length:4];
Run Code Online (Sandbox Code Playgroud)

有没有办法声明indexArr内联,比如

NSIndexSet *indexSet = [NSIndexPath indexPathWithIndexes:{1,2,3,4} length:4];
Run Code Online (Sandbox Code Playgroud)

或者其他的东西?这是因为我正在编写带有一些参考路径的测试,我想保存对任何人都没用的代码行......

最好的问候,hijolen

ugh*_*fhw 11

您尝试的唯一问题是您需要将其强制转换,以便编译器知道它是正确的类型.

NSIndexSet *indexSet = [NSIndexPath indexPathWithIndexes:(NSUInteger[]){1,2,3,4} length:4];
Run Code Online (Sandbox Code Playgroud)