问答详情
源自:4-1 Swift-String和Character

这节课听着有点混乱。。。。

1,在定义了c是一个Character数据类型之后, str += c 显示报错。 “String” is not identical to "UInt8"

2, 好像不支持直接在字符串里加\U0001F496   =。=

提问者:一ke大牙 2014-09-30 09:51

个回答

  • l1uyub0b0b0
    2014-10-31 11:47:55

    这两个问题在现在的视频版本中均已经修订:

    1)请使用str.append(c)的方式,或者 str += String(c)

    2)现在需要写\u{1F496}


    现在这门课程的前六章已经根据swift正式版的最新语法(基于xcode6.1)进行了更新,对这一节你提出的问题也进行了相关修订。同时,整套课程最新添加了《3-2 nil聚合运算符》和《4-4 String.Index和Range》的最新内容,欢迎收听:)该课程的更新也即将登陆,敬请关注!


  • 团哥
    2014-10-21 12:28:47

    在你定义c:为一个Character时,你可以理解这样的做法,是一种泛型(java中的概念),因为这个中文貌似比swfit的中文好理解写。

    就是说,你可以为任意常量、变量设置其为任意常量、变量的对象。为什么?因为任何东西都是对象。

    类要先学好。

    先有类,再有实例,再有对象。其实老湿应该先说下面向对象的简介,让大家知道为什么可以这样做,基础原因是什么。


    世间万物皆为对象,因为任何东西都可以是一个类。比如人,动物,星球,都可以是一个类。


    就好比Swift这门语言中常见的String,它是一个类,名字大概就叫做String。一个在程序运行时就已经由swift的构造函数(任何类初次运行时都会先执行构造函数,这是面向对象不变的定律),为的是方便。


    所以在项目中能够给开发者使用的String就已经是String类的实例,然而String类里有很多方法的,所以才会有let String:a = '';  String.length  这个length就是String类里的一个方法。

  • 已然
    2014-10-19 12:28:35

    新版本使用

    \u{0001F496}


  • l1uyub0b0b0
    2014-10-02 17:32:43

    你好,由于swift的第一个正式版本刚刚推出,正式版本的swift语法有很多修改。这个版本的课程还是基于beta1录制的。为此,这门课程正在根据第一个正式版本的语法修订中。全部更新后会有相关课程公告告诉大家,还望继续支持:)