2017-11-12 13 views
0

개념 :userA 보고서 userB 내가 userA 반복적으로 동일한 사용자를보고 할 수 있도록 시간의 기간 동안 보고서 버튼을 비활성화해야합니다.해제 버튼을 탭 아이폰 OS

해결 방법 : keyStringreport_userBIdvalue 같은 것 NSUserDefaults에서 저장 데이터 (유형 Double의) 현재 날짜 후 24 시간 밖으로 타임 스탬프 것입니다. 이렇게하면 userA이 다른 사용자에게보고 할 때마다 userA이 이미 userB으로보고되었는지 NSUserDefaults을 확인합니다. 그렇다면 현재 시간이 저장된 시간 소인보다 큰지 확인한 후 NSUserDefaults에서 데이터를 제거하고 사용자가 보고서를 보낼 수있게합니다.

아직이 솔루션을 구현하지 않았으며 이것이 NSUserDefaults가 최상의 솔루션 인 문제 유형인지 또는 코어 데이터와 같은 것을 사용해야하는지 알고 싶습니다.

+1

나는 그것이 달려 있다고 생각합니다. 이미 코어 데이터를 사용하여 다른 데이터를 저장하고 있다면 몇 가지 타임 스탬프를 더 저장할 수 있습니다. 그렇다면 NSUserDefaults가 더 좋을 수도 있습니다. – Russell

+0

@Russell 저는 ...이 프로젝트는 Core Data를 광범위하게 사용합니다. 보고 된 엔티티를 timestamp와 reportsUser의 id가 포함 된 이름으로 만들고,'reports' 속성을 ('NSSet'에 대한 타입의)'User' Entity에 추가하겠습니까? –

+1

@Russel, 당신은 그가 그것을 받아 들일 수 있도록 상세한 답변을 작성해야합니다 ... CoreData에 대해 많이 알지 못합니다. 너무 복잡해졌습니다.] – Yitzchak

답변

1

@Russel에 동의합니다.

이 작업에 CoreData를 사용하는 것은 로켓으로 모기를 죽이는 것과 같습니다.

이미 구현하고 사용했다면 지원을 추가 할 수 있습니다. 그렇지 않으면 NSDefaults를 사용하십시오.