2011-11-14 13 views
28

Ok Tôi có một ứng dụng iPad cơ bản yêu cầu 5 tiêu chí tìm kiếm/bộ lọc từ người dùng. Dựa trên dữ liệu này, tôi cần phải chuyển đến db dữ liệu cốt lõi của mình và rút ra bất kỳ đối tượng được quản lý nào phù hợp với tiêu chí đó. Có vẻ như tôi cần áp dụng nhiều hơn một biến vị ngữ cho cùng một yêu cầu, có khả thi không? Hay tôi chỉ có thể viết một vị từ ưa thích thực sự dài? Với nhiều yêu cầu? Tôi nên tiếp cận như thế nào? Có phải là một ý tưởng tốt để chỉ lấy tất cả các thực thể thông qua yêu cầu tìm nạp, và sau đó lặp qua từng mảng và lấy bất kỳ đối tượng nào mà tôi tìm thấy phù hợp với tiêu chí tìm kiếm của tôi không? Có phải không?Tôi có thể áp dụng nhiều vị từ cho NSFetchRequest không? Sẽ tốt hơn nếu bạn phân tích cú pháp kết quả của tôi theo cách thủ công?

Vui lòng thông báo!

Trả lời

80

Có thể. Bạn đang tìm kiếm vị từ hợp chất và đây là một ví dụ với VÀ predicates:

NSPredicate *compoundPredicate 
    = [NSCompoundPredicate andPredicateWithSubpredicates:[NSArray of Predicates]]; 

Bạn cũng có thể sử dụng notPredicateWithSubpredicatesorPredicateWithSubpredicates tùy thuộc vào nhu cầu của bạn.

Liên kết đến tài liệu https://developer.apple.com/documentation/foundation/nscompoundpredicate

+2

Thanx người đàn ông, tôi đã cố gắng làm điều này bằng cách soạn một NSString và đi qua nó để predicate như định dạng. Điều này làm việc tốt nhưng không cho ngày !! tôi lãng phí một ngày làm việc. Đây là cách tạo bộ lọc: D – MQoder