2015-06-03 26 views
10

Tôi là người mới trong lĩnh vực Realm trong Swift. Có cách nào để lưu trữ một chuỗi các chuỗi trong Realm Object?Mảng cửa hàng trong đối tượng Realm

Tôi có một đối tượng JSON như:

"firstName": "John", 
"imgName": "e9a07f7d919299c8fe89a30022151135cd63773f.jpg", 
"lastName": "Wood", 
"permissions": { 
    "messages": ["test", "check", "available"] 
}, 

Làm thế nào tôi có thể lưu trữ thông điệp mảng trong quyền quan trọng?

Trả lời

-6

Câu hỏi này đã được trả lời bởi một ai đó, hãy kiểm tra this link

Bạn đang cần một RLMObject chứa chuỗi:

@interface StringObject : RLMObject 
@property NSString *value; 
@end 
RLM_ARRAY_TYPE(StringObject) 

@implementation StringObject 
@end 

@interface Object : RLMObject 
@property RLMArray<StringObject> *array; 
@end 
+4

Anh ấy yêu cầu nhanh chóng ... – sofacoder

11

Bạn có thể cái gì đó như:

class Messages: Object { 
    dynamic var message = "" 
} 

class Permission: Object { 
    let messages = List<Messages>() 
} 

class Person: Object { 
    dynamic var firstName = "" 
    dynamic var imgName = "" 
    dynamic var lastName = "" 
    var permissions : Permission = Permission() 
} 

Anyways, Tôi nghĩ giờ đây đã được ghi lại đầy đủ trong Realm Swift Documentation

3

Đây là một kỹ thuật đơn giản không yêu cầu List<T> nếu bạn chắc chắn rằng các chuỗi của mình có thể được mã hóa một cách an toàn.

class Person: Object { 
    private let SEPARATOR = "||" 

    dynamic var permissionsString: String? = nil 
    var permissions: [String] { 
     get { 
      guard let perms = self.permissionsString else { return [] } 
      return perms.componentsSeparatedByString(SEPARATOR) 
     } 
     set { 
      permissionsString = newValue.count > 0 ? newValue.joinWithSeparator(SEPARATOR) : nil 
     } 
    } 

    override static func ignoredProperties() -> [String] { 
     return ["permissions"] 
    } 
} 
Các vấn đề liên quan