Skip to content

GCD 深入理解:第一部分中单例中为什么要使用箭头“->”符号 #28

@HansZhang

Description

@HansZhang

有一个疑问,在讲到单例部分的时候,下面段代码中对photosArrayconcurrentPhotoQueue都使用的->箭头引用来实例化,好奇为什么要这么用?如果用.点符号或者直接使用_下划线会有什么不一样的吗?希望能有人帮忙解答一下,谢谢。

+ (instancetype)sharedManager
{
    static PhotoManager *sharedPhotoManager = nil;
    static dispatch_once_t onceToken;
    dispatch_once(&onceToken, ^{
        sharedPhotoManager = [[PhotoManager alloc] init];
        // 这里以及下面👇的属性引用使用箭头符号的用意是什么?
        sharedPhotoManager->_photosArray = [NSMutableArray array];
 
        // ADD THIS:
        sharedPhotoManager->_concurrentPhotoQueue = dispatch_queue_create("com.selander.GooglyPuff.photoQueue",
                                                    DISPATCH_QUEUE_CONCURRENT); 
    });
 
    return sharedPhotoManager;
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions