2012-10-19 76 views
2

有人能告訴我我做錯了什麼,應用程序(iphone ios5)在執行「addStatus:statusObj」時會崩潰嗎?不能使用@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

Crash log please ?? ?? – AppleDelegate

+1

您要添加的對象看起來不錯。最有可能的是你想添加的可變數組爲零。請調試這個,也許發佈崩潰日誌 – 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