当前位置:  开发笔记 > IOS > 正文

Objective-C上下文中不熟悉的C语法

如何解决《Objective-C上下文中不熟悉的C语法》经验,为你挑选了1个好方法。

我是从C#来到Objective-C而没有任何C语言的中间知识.(是的,是的,我需要在某些时候学习C并且我完全打算这样做.)在Apple的证书,密钥和信任服务编程指南中,那里是以下代码:

static const UInt8 publicKeyIdentifier[] = "com.apple.sample.publickey\0";
static const UInt8 privateKeyIdentifier[] = "com.apple.sample.privatekey\0";

我有一个NSString我想在这里使用的标识符,对于我的生活,我无法弄清楚如何将其纳入这个数据结构.通过谷歌搜索也没有结果.我看着NSString类参考,看着UTF8StringgetCharacters方法,但我不能让产品进入结构.

我错过了什么简单易行的技巧?



1> Peter Hosey..:

那些是C字符串:字符的数组(不是NSArrays,但是C数组).最后一个字符是NUL,数值为0.

"UInt8"是无符号八位字节的CoreServices名称,(在Mac OS X上)与unsigned char相同.

static 表示该数组特定于此文件(如果它在文件范围内)或者在函数调用之间保持不变(如果它在方法或函数体内).

const 意味着你猜的是:你不能改变这些数组中的字符.

\0是一个NUL,但""在这些示例中显示的文字中明确包含它是多余的.甲""字面(不@)是无论如何NUL结尾.

C未指定编码.在Mac OS X上,它通常与ASCII兼容,通常是UTF-8.

要将NSString转换为C字符串,请使用UTF8StringcStringUsingEncoding:.要让NSString将C字符串提取到缓冲区中,请使用getCString:maxLength:encoding:.

推荐阅读
手机用户2502852037
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有