gpt4 book ai didi

ios - 如何使用 Objective-C 自定义完成处理程序

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

我查看了各种文档,但不知道如何在以下情况下应用完成处理程序。

//example function.
//default textView height 100.0f

-(void)getHeightResult{
[self initHeight];
NSLog(@"%@", [self setTextManager]);
}

-(NSString *)setTextManager{
if(self.textView.frame.size.heigh != 100){
return @"new Height";
} else{
return @"Default Height;
}
}

-(void)initHeight{
int result;
for(int i = 0 ; i <= 20: i ++){
result = result + i;
}
//result = 210
self.textView.frame.size.height = result;
}

执行上述函数时,getHeightResult 始终输出“默认高度”。我怎样才能应用一个完成处理程序来让它作为在 initHeight 中计算的值从这样的源返回?

我们寻求答案以帮助您理解 Completion Handler,而不是询问实际来源。

最佳答案

completionHandler 的代码,

   - (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view.

[self getSize:^(bool status) {
if (status == true) {
// perofm your operioan
NSLog(@"Done");
}
}];
}

typedef void (^CompletionBlock)(_Bool status);

-(void)getSize:(CompletionBlock)block{
__block int count = 0;

[self initWidth:^(bool status) {
count++;
if (count == 2) {
block(true);
}
}];

[self initHeight:^(bool status) {
count++;
if (count == 2) {
block(true);
}
}];
}


-(void)initHeight:(CompletionBlock)block{
int result;
for(int i = 0 ; i <= 100; i ++) {
result = result + i;
}
block(true);
}

-(void)initWidth:(CompletionBlock)block{
int result;
for(int i = 0 ; i <= 20; i ++){
result = result + i;
}
block(true);
}

关于ios - 如何使用 Objective-C 自定义完成处理程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58750173/

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