gpt4 book ai didi

ios - 如何在 Swift 的类函数中对 self 进行弱引用?

转载 作者:行者123 更新时间:2023-11-28 09:28:37 24 4
gpt4 key购买 nike

我想将以下 objective-c 代码转换为 Swift:

+ (void)someClassFunction {
__weak __typeof(self)weakSelf = self;
}

我的结果是:

class func someClassFunction() {
var weakSelf = self
}

问题是我无法在方法中应用 weak

如何在 Swift 的类函数中对 self 进行弱引用?

这是我要翻译的代码:

__weak __typeof(self)weakSelf = self;
[stillImageOutput captureStillImageAsynchronouslyFromConnection:videoConnection
completionHandler:^(CMSampleBufferRef imageDataSampleBuffer, NSError *error) {
if (imageDataSampleBuffer != NULL) {
NSData *imageData = [AVCaptureStillImageOutput jpegStillImageNSDataRepresentation:imageDataSampleBuffer];
UIImage *image = [UIImage imageWithData:imageData];
UIImage *croppedImage = [weakSelf cropImage:image withCropSize:cropSize];
completion(croppedImage);
}
}];


+ (UIImage *)cropImage:(UIImage *)image withCropSize:(CGSize)cropSize
{
...
}

编辑:

我真的需要 Swift 中的周引用还是我可以只执行以下操作?

ClassName.cropImage(...)

最佳答案

闭包可以翻译成

{[weak self] imageDataSampleBuffer, error in
// self is weak in this closure
...
}

关于ios - 如何在 Swift 的类函数中对 self 进行弱引用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29144416/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com