gpt4 book ai didi

ios - NSTextTab - 正确使用 "options"

转载 作者:可可西里 更新时间:2023-11-01 04:43:34 25 4
gpt4 key购买 nike

我最近开始使用 Xcode 7 并收到了一个看似常见的警告:

Null passed to a callee that requires a non-null argument

我理解它告诉我的内容,但我不确定针对我的特定问题的正确 解决方案是什么。这是发生警告的行:

NSTextTab *tab = [[NSTextTab alloc] 
initWithTextAlignment:NSTextAlignmentLeft
location:10.0f
options:nil];

现在,查看 Matt Neuberg 在他的“iOS 8 编程”一书中(发布在 GitHub 上)中的示例,我看到以下内容:

let s = "Onions\t$2.34\nPeppers\t$15.2\n"
let mas = NSMutableAttributedString(string:s, attributes:[
// lines omitted...
let terms = NSTextTab.columnTerminatorsForLocale(NSLocale.currentLocale())
let tab = NSTextTab(textAlignment:.Right, location:170, options:[NSTabColumnTerminatorsAttributeName:terms])
// lines omitted
self.tv.attributedText = mas

据我所知,这是在设置文本,以便字符串中的小数点对齐。伟大的。有用。不是我需要的。我只是想让左侧的选项卡提供特定且一致的缩进。

为了“修复”我的代码(即让警告消失),我将我的代码更改为:

NSTextTab *tab = [[NSTextTab alloc] initWithTextAlignment:NSTextAlignmentLeft location:10.0f options:[NSDictionary dictionary]];

这似乎可行,但感觉像是一个 super 笨拙的解决方法。我对 NSTextTab 的理解有误吗?解决此问题的正确方法是什么?

最佳答案

initWithTextAlignment:location:options: 文档中列出的唯一选项是 NSTabColumnTerminatorsAttributeName,它是可选的。

选项:通过使用 NS_ASSUME_NONNULL_BEGIN/END 宏在 NSParagraphStyle.h 头文件中将参数标记为非空。

结合这两个事实,您传递空 NSDictionary 的解决方案是解决编译器警告的正确方法。

关于ios - NSTextTab - 正确使用 "options",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32590396/

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