【发布时间】:2015-06-09 14:16:27
【问题描述】:
我的情况:
我学习 Swift 有一段时间了,Swift 是我为 iOS 开发学习的唯一语言,这意味着我没有系统地学习 Objective-C。我可以稍微阅读一下OC Code。
当我尝试将 OC 项目转换为 Swift 项目时,遇到了CGPoint 问题。
Objective-C 代码:
- (void)drawFramesetter:(CTFramesetterRef)framesetter
attributedString:(NSAttributedString *)attributedString
textRange:(CFRange)textRange
inRect:(CGRect)rect
context:(CGContextRef)c
{
.
.
CTFrameRef frame = CTFramesetterCreateFrame(framesetter, textRange, path, NULL);
CFArrayRef lines = CTFrameGetLines(frame);
NSInteger numberOfLines = CFArrayGetCount(lines);
CGPoint lineOrigins[numberOfLines]; // *** The place I had been obstructed! ***
.
.
.
}
我的问题:
-
我不知道为什么声明为
CGPoint lineOrigins[numberOfLines]的这行代码没有*来创建实例变量lineOrigins?我未经证实的猜测是
CGPoint是一个结构而不是Class,但对我来说创建一个没有*和=的实例变量仍然很神秘。 让我感到困惑的另一点是
[numberOfLines]。[numberOfLine]是一个数组吗?请教我如何将
CGPoint lineOrigins[numberOfLines];翻译成 Swift 或给我一些提示。
非常感谢您的指导和时间。
伊桑·乔
【问题讨论】: