gpt4 book ai didi

objective-c - 连接和存储音乐符号 - Objective-C

转载 作者:搜寻专家 更新时间:2023-10-30 20:06:00 25 4
gpt4 key购买 nike

我将这些 un​​icode 定义用于尖锐和扁平符号,它们在字符串连接中工作正常:

#define kSharpSymbol [NSString stringWithFormat:@"\U0000266F"]
#define kFlatSymbol [NSString stringWithFormat:@"\U0000266D"]

[...]
// Set F#
[f setNoteLetterName:[NSString stringWithFormat:@"F%@",kSharpSymbol]];

然后,我刚刚阅读了 SO question Apple 不推荐依赖 unicode 格式,所以我去了这个,它也有效,但是当我执行隐式字符串连接时会导致编译器警告:

格式指定类型“unsigned short”但参数的类型为“int”

#define kSharpSymbol [NSString stringWithFormat:@"%C", 0x266F]
#define kFlatSymbol [NSString stringWithFormat:@"%C", 0x266D]
[...]
// Set F#
[f setNoteLetterName:[NSString stringWithFormat:@"F%@",kSharpSymbol]];

我想我需要澄清一下。什么是最好的?如何让编译器满意?

最佳答案

我会建议另一种方法来解决这个问题:例如,使用直接包含 Unicode 符号的字符串常量绝对没有错

#define kSharpSymbol @"♯"
#define kFlatSymbol @"♭"

优点是程序的人类读者无需在表中查找即可看到符号。缺点是当在一些不支持现代文件编码的旧文本编辑器中查看时,该程序将无法正确显示。幸运的是,Xcode 的编辑器不是其中之一,所以这不应该是一个问题。

关于objective-c - 连接和存储音乐符号 - Objective-C,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14900401/

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