2012-10-19 3 views
2

"addStatus : statusObj"를 실행할 때 누군가 내가 뭘 잘못하고 있다고 말할 수 있습니까? 응용 프로그램 (iphone ios5)이 중단됩니다.@interface를 사용하여 NSMutableArray에 객체를 추가 할 수 없습니다.

id<Statuses> statusObjects; 
statusObjects = [Status singleton]; 

id<Statuses> statusMessagesObjects; 
statusMessagesObjects = [[Status singleton] copy]; 
StatusObj *statusObj = [[StatusObj alloc] init]; 
statusObj.date = [NSDate date]; 
[statusMessagesObjects addStatus:statusObj]; 
StatusObj *tmpObj = [statusMessagesObjects getStatusAtIndex:0]; 
DebugLog(@"-- debug -- %@", tmpObj.date); 

--------------------------------------- 헤더 파일 - --------------------------------

@interface Status : NSObject <Statuses, NSCopying> 
{ 
    NSMutableArray* status; 
    NSString* path; 
} 

+ (id) singleton; 

@property (copy) NSString* path; 

- (void) addStatus:(StatusObj*)statusObj; 
- (void) deleteStatusAtIndex:(NSUInteger)index; 
- (StatusObj*) getStatusAtIndex:(NSUInteger)index; 
- (int) count; 
- (void)save; 
- (id)copyWithZone:(NSZone *)zone; 

@end 


@protocol Statuses <NSObject> 

@required 
- (void) addStatus:(StatusObj*)statusObj; 
- (void)deleteStatus:(StatusObj *)statusObj; 
- (void) deleteStatusAtIndex:(NSUInteger)index; 
- (void)deleteAllStatuses; 
- (StatusObj*) getStatusAtIndex:(NSUInteger)index; 
- (int) count; 
- (void)save; 

@optional 
- (void)moveStatus:(StatusObj *)statusObj toIndex:(NSUInteger)newIndex; 

@end 
+1

오류 로그하시기 바랍니다 ?? – AppleDelegate

+1

추가 할 개체가 괜찮아 보입니다. 대부분 추가하려는 변경 가능한 배열은 nil입니다. 이 코드를 디버그하고 충돌 로그를 게시하십시오. – George

+0

상태 개체가 초기화 된 코드를 표시해야합니다. 또한 어떤 종류의 오류가 발생합니까? – ThomasW

답변

0

코드가 실제로 이상하게 보이고 명명 규칙이 틀립니다. 왜 싱글 톤을 복사 했습니까?

귀하의 어쩌면 도움이 될만한 내용을 편집했지만 구현을 게시하면 도움이 될 것입니다.

id<Statuses> status; 
status = [Status singleton]; 

StatusObj *statusObj = [StatusObj new]; 
statusObj.date = [NSDate date]; 

[status addStatus: statusObj]; 

StatusObj *tmpObj = [status getStatusAtIndex:0]; 
DebugLog(@"-- debug -- %@", tmpObj.date); 
+0

나는 자존심이없는 사람을 위해 유감스럽게 생각한다. – user1758654

관련 문제