2016-11-21 51 views
1

當我導入基金會時,突然間所有的對象(包括其他人)都能夠完成一些他們以前沒有做過的事情。此功能如何工作?它有什麼缺點嗎?在添加導入之前它會改變我寫的代碼的行爲嗎?導入基金會對字符串做了什麼?

+1

請舉例。 – rmaddy

回答

1

Foundation的NSString類是bridged,因此它的方法顯示爲extensions on the built-in String type

當您調用其中一個NSString方法時,該對象是magically bridged to Objective-C,它變成了subclass of NSString

+0

這不能真正回答我的問題......我知道基金會更改'字符串',但問題是*它如何改變它。現在整個String類型是不同的數據類型嗎?原生Swift'String'發生了什麼?或者,Swift將字符串轉換爲'NSString',然後在我調用Foundation方法時返回原始形式? –

+0

它不被替換,它只是有新的方法和橋接支持。 – jtbandes

+0

那麼當我調用基礎方法時,字符串究竟發生了什麼? –