我有一个父类Networking和两个子类Upload : Networking和Download : Networking。网络有公共@property (readonly) BOOL isExecuting;和@property (readonly) BOOL isDone;。我需要从子类中访问它们,但以线程安全的方式访问它们,因为操作将在单独的线程中进行。
实现它的优雅方式是什么?谢谢!
编辑:那么我的理解正确吗?这是Upload.m的一个示例
#import "Upload.h"
#import "Networking.h"
@interface Upload ()
@property (assign) BOOL isExecuting;
@end
@implementation Upload
- (void) setIsExecuting:(BOOL)isExecuting{
@synchronized (self) {
_isExecuting = isExecuting;
}
}发布于 2013-01-20 02:47:57
因为你的属性是只读的,所以没有线程会继续改变它的值。所以在任何时候,在任何线程中,你都会得到相同的值。
因此,不需要担心这一点。
https://stackoverflow.com/questions/14417337
复制相似问题