사용자 입력에 따라 다양하게 정렬 된 데이터를 리턴하는 술어를 작성할 기준 목록이 필요합니다. 따라서 연관된 하위 클래스 파일 SearchSpecs.h
및 SearchSpecs.m
과 함께 "SearchSpecs"라는 엔티티를 만드는 것이 합리적 인 것처럼 보였습니다. 이 방법으로 다른 클래스는이 클래스의 메서드와 속성을 사용하여 코어 데이터 가져 오기를 시작하는 "사양 시트"를 만들 수 있습니다.싱글 톤을 만들고 있습니까?
그러나 "싱글 톤"과 관련하여 논쟁이 많이있는 것으로 나타났습니다. 나는 꽤 새로운데, 내 지식으로는 싱글 톤을 만들지 못했고 지금 그렇게하고 있는지 알고 싶습니까?
나는 그것이 전부인 것을 정말로 알지 못하기 때문에 싱글 톤 토론의 불꽃을 다시 열기를 원하지 않는다는 것을 이해하십시오. 그러나 나는 또한 내 앱에 괴물을 만들고 싶지 않다.
내 접근 방식이 안전하고 합리적임을 확신 할 수 있습니까?
은 여기 내 SearchSpecs.h
및 SearchSpecs.m
파일에서 관련 코드 : 돕는
//
// SearchSpecs.h
// WMDGx
//
// Created by Tim Jones on 2/7/14.
// Copyright (c) 2014 TDJ. All rights reserved.
//
#import <Foundation/Foundation.h>
#import <CoreData/CoreData.h>
@interface SearchSpecs : NSManagedObject
// Properties
@property (nonatomic, retain) NSDate * fromDate;
@property (nonatomic, retain) NSDate * toDate;
@property (nonatomic, retain) NSString * categoryOfInterest;
@property (nonatomic, retain) NSString * activityOfInterest;
@property (nonatomic, retain) NSString * benchmarkCategory;
@property (nonatomic, retain) NSString * benchmarkActivity;
// Set Methods
- (void) setActivityOfInterest:(NSString *)activityOfInterest;
- (void) setCategoryOfInterest:(NSString *)categoryOfInterest;
- (void) setBenchmarkActivity:(NSString *)benchmarkActivity;
- (void) setBenchmarkCategory:(NSString *)benchmarkCategory;
- (void) setFromDate:(NSDate *)fromDate;
- (void) setToDate:(NSDate *)toDate;
// Create and delete
- (void) createFreshSpecSheet;
- (void) saveSpecSheet;
- (void) deleteSpecSheet;
@end
//
// SearchSpecs.m
// WMDGx
//
// Created by Tim Jones on 2/7/14.
// Copyright (c) 2014 TDJ. All rights reserved.
//
#import "SearchSpecs.h"
@implementation SearchSpecs
@dynamic toDate;
@dynamic fromDate;
@dynamic benchmarkCategory;
@dynamic benchmarkActivity;
@dynamic categoryOfInterest;
@dynamic activityOfInterest;
- (void) setActivityOfInterest:(NSString *)activityOfInterest
{
}
- (void) setCategoryOfInterest:(NSString *)categoryOfInterest
{
}
- (void) setBenchmarkActivity:(NSString *)benchmarkActivity
{
}
- (void) setBenchmarkCategory:(NSString *)benchmarkCategory
{
}
- (void) setFromDate:(NSDate *)fromDate
{
}
- (void) setToDate:(NSDate *)toDate
{
}
- (void) createFreshSpecSheet
{
}
- (void) saveSpecSheet
{
}
- (void) deleteSpecSheet
{
}
@end
감사합니다!
실제로 원본 파일은 여기에 표시된 것처럼 보입니다.이 파일은 "Editor> Create NSManagedObject subclass ..."에 의해 만들어진 방법입니다.이 메서드는 [이 SO 답변]의 제안을 따르기 위해 추가되었습니다 (http://stackoverflow.com/questions/11048086/fill-a-coredata-entity-from-different-viewcontroller). 내가 그것을 쓰는 동안 그것은 약간 여분 것처럼 보였다. OTOH, 많은 목표 C 코드가 처음에는 내 학생 마음에 중복되거나 보답으로 보입니다. 당신이 제공 한 명확성에 대해 많은 감사드립니다! – rattletrap99