2014-07-14 31 views
13

Có ai biết hoặc có ví dụ về cách xử lý các giá trị truyền dữ liệu lõi với Swift không? Tôi biết sử dụng @NSManaged trước các thuộc tính, nhưng không thể tìm ra cách viết mã logic để xây dựng các giá trị tạm thời bằng Swift.Giá trị trung gian dữ liệu chính với Swift

+2

Có @NSManaged không cho phép tôi tạo bộ khởi động cho thuộc tính tạm thời trong Swift. Tôi muốn biết tính chất tạm thời hoạt động như thế nào trong Swift. – Sam

+0

có thể trùng lặp của [CoreData Swift và thuộc tính tạm thời getters] (http://stackoverflow.com/questions/25960555/coredata-swift-and-transient-attribute-getters) – Ian

+0

Bạn đã giải quyết vấn đề này chưa? Liên kết đã cho có trợ giúp không? – Orion

Trả lời

8

Đánh dấu chọn trường thoáng qua trong mô hình dữ liệu của bạn cho thuộc tính cụ thể (ví dụ: sectionTitle).
Tạo lớp cho thực thể đó, nó sẽ giống như thế

class Message: NSManagedObject { 

    @NSManaged var body: String? 
    @NSManaged var time: NSDate? 
    @NSManaged var sectionTitle: String? 
} 

Chỉnh sửa nó và làm cho nó như thế này:

class Message: NSManagedObject { 

    @NSManaged var body: String? 
    @NSManaged var time: NSDate? 

    var sectionTitle: String? { 
     return time!.getTimeStrWithDayPrecision() 
     //'getTimeStrWithDayPrecision' will convert timestamp to day 
     //just for e.g. 
     //you can do anything here as computational properties 
    } 
} 

Update- Swift4
Sử dụng @objc thẻ cho Swift 4 như:

@objc var sectionTitle: String? { 
    return time!.getTimeStrWithDayPrecision() 
} 
+0

Tính năng này hoạt động tốt nếu "Codegen" trong thuộc tính Entity được đặt thành "thủ công/không có gì". Làm thế nào để xử lý nó "Codegen" được thiết lập để "Thể loại/Extension"? – Satyam

+1

Với nhanh chóng 4 tôi phải sử dụng "@objc dynamic var sectionTitle: String? {...}" trong một trường hợp tương tự để làm cho nó hoạt động. – user3687284

+0

Có, hãy để tôi cập nhật câu trả lời cho Swift 4 – D4ttatraya

1

Chúng ta nên sử dụng willAccessValueForKey và didAccessValueForKey để hỗ trợ KVO

Các vấn đề liên quan