我想实现一个具有简单线程安全性的FIFO队列类。我不想使用标准Objective-C框架中的任何类(NSObject除外),这意味着我不想使用NSMutableArray。
如果我的解决方案是正确的,你能问一下吗?谢谢!
#import <Foundation/NSObject.h>
@interface Queue : NSObject
{
id _value;
Queue *tail;
}
/* Puts an object at the end of the queue. The object is retained. */
- (void) putObject: (id)object;
/* Gets an object from the beginning of the queue. The object is
* removed from the queue. If there are no objects in the queue,
* returns nil. The object is autoreleased.
*/
- (id) getObject;
@end
@implementation Queue
- (id) init
{
return self;
}
- (void) dealloc
{
[super dealloc];
}
- (void) putObject: (id)object
{
if(tail)
{
[tail putObject:object];
}else{
tail = [[Queue alloc]init];
_object = object;
}
}
- (id) getObject
{
return _value;
}
@end
答案 0 :(得分:0)
如果我的解决方案是正确的,你能问一下吗?谢谢!
你测试过吗?
有些事情需要考虑:
[super dealloc]
表示您使用的是MRR / MRC)在评论中听Josh Caswell说,这不是这类问题的论坛。
HTH