기본적으로 Person 및 Person의 애완 동물을위한 클래스를 구현하려고합니다. 아주 간단에서 폼 Person 클래스 및 애완 동물 클래스는 다음과 같이 될 것이다 : 일대 다 관계의 클래스 구조 구현. Swift
class Person {
var email : String!
var name : String!
var pets : [Pet]!
init(userName: String) {
email = userName
// load Person from CloudKit database
}
}
class Pet {
var name : String!
var breed : String?
}
가 지금은 특정 사용자 이름과 관련된 모든 애완 동물을로드 할 수 있어야합니다. 내가 위의 클래스를 가지고 있다면, 그것은 오직 하나의 애완 동물 만 가지고 있습니다. Person 클래스와 같은 배열을 만들면 Load 메서드가 없습니다. 문제는 다음과 같은 새로운 수업을 만들어야한다는 것입니다.
class Pets {
var userName : String
var pets : [Pet]
init(email: String) {
// load all pets related to user here
}
}
의미가 있습니까? 아니면 클래스를 구성하는 더 좋은 방법이 있습니까? 제 질문이 충분히 명확합니까? 사전에 도움을 주셔서 감사합니다.
나는 그것이 의미가있는 것 같아 – lascort
'var init','String!'모든 곳에서'email = userName', 이것은별로 의미가 없습니다. 나를. 나는 당신이'func findPetsOf (userName : String, inContacts contacts : [Person]) -> [Pet]?'와 같은 것을 원한다고 가정 할 것이다. 추가 수업이 필요 없습니다. 최악의 경우, 튜플'(userName : String, pets : [Pet]?)'을 반환하도록 만듭니다. –
'var init'은 오타였습니다. 진짜 수업은 이것보다 훨씬 길다. 토론을 위해 여기에서 마른 버전을하려고했습니다. 의사 코드로 간주 할 수 있습니다. findPetsOf 함수는 어디에 위치합니까? Person 클래스 내부? 그렇다면, 당신은 애완 동물의 모든 로딩 및 저장 로직이 Person 클래스 내에서 처리되어야한다고 말하고 있습니다. 나 맞아? – oyalhi