Swift 4.1.2自动完成功能:建议在Array上进行扩展,不应该这样做

时间:2018-06-24 09:54:19

标签: arrays swift swift4 swift-extensions swift4.1

也许我在这里疯了,但是Swift 4.1.2中的<application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:supportsRtl="true" android:theme="@style/AppTheme"> <activity android:name=".MainActivity"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name=".NumbersActivity" android:label="@string/category_numbers" android:parentActivityName=".MainActivity"> <!-- Parent activity meta-data to support 4.0 and lower --> <meta-data android:name="android.support.PARENT_ACTIVITY" android:value=".MainActivity"/> </activity> <activity android:name=".FamilyActivity" android:label="@string/category_family" android:parentActivityName=".MainActivity"> <!-- Parent activity meta-data to support 4.0 and lower --> <meta-data android:name="android.support.PARENT_ACTIVITY" android:value=".MainActivity"/> </activity> <activity android:name=".ColorsActivity" android:label="@string/category_colors" android:parentActivityName=".MainActivity"> <!-- Parent activity meta-data to support 4.0 and lower --> <meta-data android:name="android.support.PARENT_ACTIVITY" android:value=".MainActivity"/> </activity> <activity android:name=".PhrasesActivity" android:label="@string/category_phrases" android:parentActivityName=".MainActivity"> <!-- Parent activity meta-data to support 4.0 and lower --> <meta-data android:name="android.support.PARENT_ACTIVITY" android:value=".MainActivity"/> </activity> </application> 在不应该出现的类型中将其属性显示在Swift的自动完成类型中。

例如,此扩展名:

extension Array where Element == String

然后开始输入:

extension Array where Element == String { public var test: [String] { return ["test"] } } ...

and Swift建议[123].te属性在[Int]上也可用,这是不可能的。然后语法检查器弹出错误:

  

表达式类型不明确,没有更多上下文

有什么我想念的吗?也许需要使用一些其他/附加的一致性限制?还是这是一个Swift错误?

enter image description here

1 个答案:

答案 0 :(得分:2)

这似乎是一个错误。

此Swift.org错误报告演示了相同的行为:

https://bugs.swift.org/browse/SR-5388