精通
英语
和
开源
,
擅长
开发
与
培训
,
胸怀四海
第一信赖
锐英源精品开源,禁止转载和任何形式的非法内容使用,违者必究
近日把一套C++代码移植到SWIFT3时,要把一个数组清空,再向数组里添加新项目,但在清空语句行上报错,数组命名为a的话,出错的代码行如下:
a.removeAll()
或
a=[]
2行都可以清空,2个方式都试了,都报错。
查了查网络,没有直接的答案,按C++的理论,数组里不是指针的话,数组释放,数组里的项会自动释放,不会有错啊,一时卡在哪里,解决不了。
后来找了些英文网站,眼光扫到了SWIFT3类一般要用NSObject来做基类,按这个提示把数组项类加上:NSObject继承下,问题解决。
通常,如果按照一些约定俗成的作法,不会出这样的问题,SWIFT3的书籍上可能会要求说写类要从NSObject继承,但是也不会说不这样用会有什么错。
所以学编程,语法上一定遵守死规则,这样会节省时间。