2016-08-02 20 views
8

Xcode 8 beta 4, artık Foundation sınıfı AttributedString'u tanır.Bildirilmemiş tip 'AttributedString' kullanımı

Ben bu basit oyun alanı örnekte bunu çoğaltılamaz ettik: AttributedString eski Xcode 8 Swift 3 betalar sunulmuştu

//: Playground - noun: a place where people can play 

import Foundation 

let attrStr1 = NSAttributedString() 
let attrStr2 = AttributedString() // Use of undeclared type 'AttributedString' 

beri, bu, bazı ziyade, düzeltilmesi gereken bir Foundation hata hayal Oyun alanında kaynak kodu hatası?

+1

Ben Swift 3. için NS öneki düştü ~ 32 türlerini etkiler Bunun bir hata olduğunu düşünmeyin. NSAttributeString-> AttributedString öğesinden öneki kullanmak için adlandırma değişikliğini geri döndüklerini düşünüyorum. Muhtemelen NS ön ekini Vakıf'ta tutarlıdır. Genel olarak, beta 4'te beklediğimden çok daha fazla adlandırma değişikliği var. Çoğu açık, bazıları daha zor. –

+0

@MattWeinecke ve @PetahChristian: doğruysa Apple'dan ilginç bir geri dönüş. Bununla birlikte Xcode 8 Beta 4 sürüm notlarından hiç bahsetmiyorum. Şahsen NS'nin önekini memnuniyetle karşılarım. Şimdi hatırlamak için çok fazla şey olduğu gibi: 'Veri' bir yapıdır ancak 'NSData' bir sınıftır; "URL" ile aynı vb. –

+1

Örnekte, AttributedString öğesinin önekini düşürdüğü, ancak NSMutableAttributedString öğesinin kullanılmadığını düşünmüştüm. –

cevap

10

Xcode sürüm notlarında belgesiz olmasına rağmen, bir sürüm 2, Swift geliştirme önerisi SE-0086 Drop NS Prefix in Swift Foundation'u, "NS" ön ekini önceden öneki bırakmış olan birkaç Foundation sınıfına geri eklemiştir. sınıf Sonra, yakın gelecekte bir değer tipi eşdeğer NS öneki tutmak planlanmaktadır

ise şu şekildedir:

nedenidir. Örnekler: NSAttributedString, NSRegularExpression, NSPredicate.

Yani, Swift AttributedString tipi yerine sınıf olma, bir yapı sonraki zaman olarak, bazı noktada dönecektir.

Bu gelişmelerden bazıları "Swift 4. için bir odak alanı" olacak gibi görünüyor. Şimdilik, NSAttributedString sınıfını kullanmaya geri dönmek gerekiyor.

Eğer SE-0086 v2 güncelleme etkilendi kaç türlerini öğrenmek Merak ediyorsanız, o revision benziyor önceden