Có cách nào đơn giản để lặp qua tất cả các thuộc tính của cấu trúc không? Cách tiếp cận cho các thuộc tính không tĩnh mà tôi quen thuộc là sử dụng Mirror, nhưng điều này trả về một mảng trống khi cấu trúc chỉ chứa các thuộc tính tĩnh. Dưới đây là ví dụ về những gì tôi đang cố gắng đạt được:Lặp lại các thuộc tính tĩnh của một cấu trúc
struct Tree {
static let bark = "Bark"
static let roots = "Roots"
}
let treeParts = [String]()
// insert code here to make treeParts = ["Bark", "Roots"]
Tôi chưa thử điều này, nhưng bạn có đang phản chiếu một _instance_ của cấu trúc hoặc kiểu dữ liệu không? Tôi nghĩ rằng để có được các thuộc tính tĩnh, bạn sẽ phải nhân bản 'Tree.type'. –
Không chắc chắn những gì bạn có ý nghĩa của .type, cấu trúc của tôi không có tài sản đó, nhưng tôi đã thử nó với .self và tôi đã không nhận được bất cứ điều gì. – mattgabor
Xin lỗi, đúng, nên nói 'Tree.self' (tôi đã nghĩ về vốn-T" Type, nhưng đó là tên máy in, không phải là đối tượng metatype) Quá xấu mà không hoạt động. –