0

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

例如:

@"myArray.lastObject"

是错的。

但我需要在我的代码中用点符号表示路径。谢谢

4

1 回答 1

1
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];
于 2012-06-11T14:04:00.227 回答