如何用点符号指定NSArray的lastObject?

例如:

@"myArray.lastObject"


是错的。

但是我需要在代码中用点表示法表示路径。
谢谢

最佳答案

NSArray* foo = [NSArray arrayWithObject: @"bar"];
id baz = foo.lastObject;


以上对我来说很好。

因此,如果您使用lastObject获取排序键,请执行以下操作。请注意,除非编译器知道对象是什么类型并且lastObject返回id,否则点表示法不起作用,因此您必须进行类型转换以获取Order或使用常规语法。

NSSortDescriptor *rankSortDescriptor = [[NSSortDescriptor alloc] initWithKey: ((MyObject*)managedItems.lastObject).Order
                                                                   ascending: YES];


或者(我认为更好)

NSSortDescriptor *rankSortDescriptor = [[NSSortDescriptor alloc] initWithKey: [[managedItems lastObject] Order]
                                                                   ascending: YES];

关于objective-c - 如何用点符号指定NSArray的lastObject?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10981327/

10-11 14:49