2

有人可以告诉我我做错了什么,应用程序(iphone ios5)在执行“addStatus:statusObj”时会崩溃吗?

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
4

1 回答 1

0

您的代码看起来很奇怪,而且您的命名约定非常规,为什么要复制您的 Singleton?

我已经编辑了你的可能会有所帮助,但如果你发布你的实现会很有帮助。

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);
于 2012-10-19T09:11:31.500 回答