首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >CMutablePointer<NSRange>死胡同

CMutablePointer<NSRange>死胡同
EN

Stack Overflow用户
提问于 2014-06-27 15:02:34
回答 1查看 211关注 0票数 0

我试图在Swift中调用NSLayoutManager对象的NSLayoutManager方法。它的描述是:

代码语言:javascript
运行
复制
func lineFragmentRectForGlyphAtIndex(glyphIndex: Int, effectiveRange: CMutablePointer<NSRange>)

但我想不出我该怎么称呼它。根据苹果的文档,我不得不这样称呼它:

代码语言:javascript
运行
复制
let someRange : NSRange = ...
layoutManager.lineFragmentRectForGlyphAtIndex(0, effectiveRange: &someRange)

文件就是这么写的。但是我得到了一个错误:'NSRange‘不是'@lvalue $T5’的一个子类型

我该怎么办?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-06-27 15:11:08

试着把它变成var而不是let

代码语言:javascript
运行
复制
var someRange: NSRange = ...
layoutManager.lineFragmentRectForGlyphAtIndex(0, effectiveRange: &someRange)

基本上:在&上使用var可以提供一些与CMutablePointer兼容的东西,但是let不应该是可变的。因此,类型错误。

如果要传递空指针,只需编写nil而不是&someRange (当然不需要声明额外的var)。

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

https://stackoverflow.com/questions/24455010

复制
相关文章

相似问题

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