首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在Swift中,此代码段的等价物是什么?

在Swift中,此代码段的等价物是什么?
EN

Stack Overflow用户
提问于 2015-03-11 15:43:47
回答 2查看 107关注 0票数 0

我在Objective-c中找到了这段代码,并想知道在Swift中它的等价物是什么。

代码语言:javascript
运行
复制
CGContextSaveGState(context)
{
    CGContextMoveToPoint(context, self.bounds.size.width, yOffset);
    CGContextAddLineToPoint(context, self.bounds.size.width, yOffset);
    CGContextStrokePath(context);
}
CGContextRestoreGState(context);

这里让我困扰的是这两个花括号{}

EN

回答 2

Stack Overflow用户

发布于 2015-03-11 16:00:48

实际上并不需要这些大括号。这是一种编码技术-you can read a post that touches on it here-that使这些开始/做某事/结束块更容易阅读,但代码基本上等同于:

代码语言:javascript
运行
复制
CGContextSaveGState(context)
CGContextMoveToPoint(context, self.bounds.size.width, yOffset);
CGContextAddLineToPoint(context, self.bounds.size.width, yOffset);
CGContextStrokePath(context);
CGContextRestoreGState(context);

...without大括号。( Swift中的代码与Objective C中的代码完全相同。)

唯一的区别是the braces define a variable scope in your original code,但在这种情况下没有实际的区别。

据我所知,在Swift中没有直接等效的结构,它没有这些“匿名块”(即大括号中的代码段,而不是真正的Blocks)。但是,您可以找到some explorations of ways of doing it in this other question

票数 1
EN

Stack Overflow用户

发布于 2015-03-11 15:47:01

代码实际上是相同的。

请查看Apple的文档以获得进一步的参考:

https://developer.apple.com/library/ios/documentation/GraphicsImaging/Reference/CGContext/

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28981037

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档