2009-12-10 27 views
21

tôi đang làm việc trên một chiếc iPhone và tôi đang sử dụng Core Data như cửa hàng của tôi.desc hạn 50 tương đương Core Data/NSPredicate

Những gì tôi muốn làm là liệt kê 50 đơn vị hàng đầu trong thứ tự giảm dần bởi chiều cao của họ.

Tôi đang phải vật lộn để tìm hiểu cú pháp cho các vị.

Trả lời

68

Thứ nhất, đi đến NSFetchRequest class reference.

Sử dụng các mô tả sắp xếp để yêu cầu lấy của bạn:

NSSortDescriptor *sort = [[NSSortDescriptor alloc] initWithKey:@"name" ascending:YES selector:@selector(caseInsensitiveCompare:)]; 
[request setSortDescriptors:[NSArray arrayWithObject:sort]]; 

Và sử dụng tài sản fetchLimit

[request setFetchLimit:50]; 
+0

điểm trên, cảm ơn bạn – iOSDevil

+1

Bạn đang chào đón! Chúc may mắn – Francescu

+2

Từ quan điểm thực hiện xem fetchLimit sẽ cải thiện về hiệu suất chỉ khi các loại cửa hàng là SQL, nếu không nó sẽ đơn giản làm một giới hạn-less lấy và 'loại bỏ' các mục còn lại. [Https://developer.apple.com/library/ios/DOCUMENTATION/Cocoa/Reference/CoreDataFramework/Classes/NSFetchRequest_Class/NSFetchRequest.html#//apple_ref/occ/instm/NSFetchRequest/fetchLimit] – Vamos