心情不好的雨燕4,1
与往常一样,当新版本的Swift出现时,我会通读手册并提出问题供审核。 因此,这里我们使用Strings。 如您所知,字符串再一次是集合类型,因此不再是.characters,对此我们可能都非常感谢。
如何创建多行字符串?
使用三引号
让x =“”“
他说她说
然后更多
然后更多
“”
注意,绿色的新兵,是确定缩进从何处开始的BOTTOM三重引号。 您可以添加缩进,也可以添加\以将一行连接在一起。
从字符串中获取子字符串时,它是什么类型? 串?
不,温柔的灵魂,不是弦乐。 它是SubString。
字符串和子字符串共享什么协议?
他们共享StringProtocol。
哦! 这就是为什么字符串操作类型如此频繁地将StringProtocol类型作为输入吗?
就像你说的那样。 你比你看起来聪明。
很高兴知道默认情况下复制可确保始终在后台复制作为真正的14克拉值类型的字符串。
你看到我在那里做什么了吗? 并非总是在后台复制它。 它通常通过引用传递,并且仅在您要使String突变时才执行复制。 由于这个邪恶的小把戏,您将获得更多的性能提升。 如果可以的话,请稍作努力。 一点点ol’-razzle-dazzle三卡牌游戏。
为什么它是邪恶的?
这不是真的邪恶。
哇,您可以在字符串后附加一个字符! 像您一样使用+进行串联?
不,那太明显了。 您必须使用
aString.append(“C”)
方法。
什么是字符串互通?
我认为您的意思是字符串插值。 这只是意味着使用变量将一个字符串插入另一个字符串。 就像使用C和其他语言一样。
您可以通过字符数组创建字符串吗?
你肯定可以,甜蜜的脸颊。 刚把那个吸盘扔进弦里,嘿嘿。
你在骚扰我吗?
你要我吗 您想让我发出触发警告,以免引起皮疹或其他事情吗?
你的举止很差。
我做。 我度过漫长的冬夜,为他们而悲伤。
什么是扩展字素簇?
好吧,你成功地做到了。 它是一个或多个unicode字符的序列,导致一个字符,即一个和一个唯一的人类可读字符。
那么,是否要遍历每个Unicode标量来计算字符串中的人类可读字符?
好吧,有点。 您不需要,但是.count属性可以。
那么count是否返回Unicode标量的数量?
没有。 它返回一个人类可读值的计数,但是要做到这一点,它必须读取String中每个有福的标量,所以在使用它之前先思考一下,好吗? 除了头套以外,还要用头做其他事情。
知道String.count总是== [NSString length]真是令人欣慰。
豌豆,只有在你的梦中。 我可以想到其他更快,更有效的救济形式。 NSString长度不计算人类可读的值,而是计算UTF 16字符串表示形式中的16位代码单元。
天哪,你怎么这么讨厌?
谁说我逃脱了?
那么至少.index不必读取字符串中的每个Unicode标量吗?
你真的生活在自己的小宇宙中,不是吗? 而且你不听。 索引还必须遍历字符串中的每个Unicode标量。
即使这样,您仍然可以将整数值用作String的索引! 太棒了!
不,你不能。 索引不会转换为数组中的物理位置。 没有整数。
那么startIndex获得String中的第一个位置吗?
是的 我可以看到您的错误像麦克卡车一样对我开着车。 它来了。
那么endIndex获取字符串中的最后一个位置?
然后,您修剪了格兰尼(Granny),后者正悄悄地试图穿过水果摊上的东西。 没有。 endIndex获取字符串中最后一个字符之后的位置。
这是获取字符串中最后一个字符的惯用法。
让i2 = message.index(之前:message.endIndex)
太运动了!
哦,不是吗? 接下来,让我们在温布尔登赛季踢个高球。 我去找你
如果字符串为空,则startIndex和endIndex会发生什么?
终于,他们找到了实现兄弟般和真正平等的梦想。 他们是平等的。
使用Index时,请记住之前:,之后:和offsetBy :。 他们是您的朋友,如果您可能有朋友。
因为String现在是一个集合,所以,可以说,它给出了一定的想法,甚至是弗里森!
哦,确实如此! 您可以在任何Collection类型(例如Array,Set或Dictionary)上使用before,after和offsetBy。
如何在字符串中插入和删除内容?
就像你说的那样。 您使用插入和删除。 如果要插入字符,则只需传入字符即可。 如果要插入字符串,则必须使用contentsOf:标签。
为了确保两个字符串是另一个母亲的兄弟,您如何检查它们的完全相等性?
嗯? 炫耀男生拉丁? 装腔作势。 您可以使用==和!=进行预期的测试。
等角线等效。 这是我最喜欢的短语之一,但我不知道这是什么意思?
语言向导还有很多您不知道的地方。 该短语在规范上是等效的。 这意味着在转换为人类可读格式时,字符串可能在两种情况下由不同的基础Unicode BUT表示,基础Unicode不用紧记。 人们看到相同的字母和标记对他们来说意义重大。 非常非常非常
如何快速检查其他字符串的字符串开头和结尾?
如果我是你,我只会问一个人。 但是,如果您真的要使用Swift,可以使用hasPrefix和hasSuffix。 毫无疑问,您将取得巨大的成功。
我无法访问基础Unicode?
在您的情况下,更多的是“我不会”。 或“某人应阻止您”。 我无法想象您会如何处理自己力所能及的事情。 但是,如果您无法抗拒,则可以使用utf8,utf16和utfScalars属性。 最后一个返回一个21位单元,等效于UTF32。 这足以使您陷入可能无法摆脱的麻烦。 但可喜的是,您可能永远不会知道。
当招聘人员自豪地告诉您他们正在寻找充满激情的摇滚明星时,您对他们怎么说?
我无法在此打印我告诉他们的内容。 不要点击它们,这会给您带来麻烦。 告诉他们:这是工作。 它不需要激情。 它需要能力,洞察力,智慧,纪律,信心和能力。 如果您不是很出色并且希望人们不要注意到,那么激情就是您所需要的。