Tham khảo tài liệu 'phát triển ứng dụng cho iphone và ipad - part 26', công nghệ thông tin, kỹ thuật lập trình phục vụ nhu cầu học tập, nghiên cứu và làm việc hiệu quả | 8 Core Data-Related Cocoa Features WHAT S IN THIS CHAPTER Setting and getting data using key-value coding Implementing a loosely coupled application architecture with messaging and key-value observing Creating predicates in several ways and using them to filter data Building sort descriptors to order your data structures In the last three chapters you learned about the fundamentals of the Core Data architecture how to model your data and how to build a complete data-centric application using the Core Data framework. This chapter provides a more detailed look at some of the Cocoa functionality that you used with Core Data. In addition to their application in Core Data you can use these features in other interesting ways. In this chapter you learn more about some important Cocoa technologies key-value coding key-value observing predicates and sort descriptors. While you have seen these features used with Core Data they are an integral part of the Cocoa framework. You can use these concepts and their associated classes in ways that reach far beyond Core Data. For example you can use predicates and the NSPredicate class to filter and query regular Cocoa data structures such as arrays and dictionaries. You can develop loosely coupled message-based application architectures using the concepts of key-value coding and key-value observing. Adding a deeper knowledge of these Cocoa features will broaden your knowledge of the development platform and provide you with more tools for your developer toolbox. 220 CHAPTER 8 CORE DATA-RELATED COCOA FEATURES KEY-VALUE CODING You have already seen key-value coding also referred to as KVC in previous chapters. When you used Core Data with an NSManagedObject directly instead of using an NSManagedObject custom subclass you used KVC to set and get the attribute values stored in the NSManagedObject. KVC allowed you to get and set the attributes of the managed object by name instead of using properties and accessor methods. The term .