【问题标题】:Objective-C. Block that returns a string and printing it out目标-C。返回字符串并将其打印出来的块
【发布时间】:2021-04-26 15:01:43
【问题描述】:

刚得到我作为初级 iOS 的第一份工作。我将使用Objective-C进行很多我不太熟悉的工作,因此希望您能原谅我这些简单的问题。

我有这段代码:

NSString* (^greetings)(void) = ^{
return @"Hello Everyone";
};

不知道如何处理。在 Swift 中,我或许可以将该闭包的结果分配给 String 类型的变量并打印出来。 在 Objective-C 中,我正在尝试这样做:

NSString *greetingsAsString = [universalGreetingReturningNSString copy];
NSLog(@"%@", greetingsAsString);

我明白了: NSGlobalBlock:0x100008198>

非常感谢您的帮助!

【问题讨论】:

    标签: objective-c objective-c-blocks


    【解决方案1】:

    您实际上并没有调用块,而是使用()

    NSString* (^greetings)(void) = ^{
        return @"Hello Everyone";
    };
    
    NSLog(@"%@", greetings());
                          ^^
    

    【讨论】:

      猜你喜欢
      • 2014-12-26
      • 2020-07-20
      • 2012-09-01
      • 1970-01-01
      • 2021-10-03
      • 1970-01-01
      • 2021-03-16
      • 2013-02-27
      • 1970-01-01
      相关资源
      最近更新 更多