2016-04-11 18 views
25

Ben raywenderlich.com üzerinde Text Kit Tutorial veHayır '|' Adaylar üretmek beklenen bağlamsal sonucu türü 'NSTextStorageEditActions'

edited(.EditedCharacters | .EditedAttributes, range: range, changeInLength: (str as NSString).length - range.length) 

aşağıdaki hata üretir hattı geçti: Ben ilk değiştirdiğinizde

No '|' candidates produce the expected contextual result type 'NSTextStorageEditActions' 

hata ortadan kalkar bağımsız değişken:

edited(.EditedCharacters, range: range, changeInLength: (str as NSString).length - range.length) 

Ayrıca "OR" ve "||" kullanmayı denedim. herhangi bir başarı olmadan.

Swift, 2.2 ve IOS 9.2

+14

[ 'NSTextStorageEditActions'] (https://developer.apple.com/library/mac/documentation/Kakao/Referans/UygulamaKit/Sınıflar/NSTextStorage_Class/# // apple_ref/c/econst/NSTextStorageEditedCharacters), şu anda 'OptionSetType' protokolüne uyan öğretici (pre-Swift 2.0 öncesi gibi görünüyor) ve kutu dizi benzeri sözdizimi [.OptionA, .OptionB] 'kullanarak birkaç seçenek içerir. Örneğinizde, düzenlenmiş ([. EditedCharacters, .EditedAttributes], ...). Ayrıntılar için, [bkz. Bu Soru ve Cevap] (http://stackoverflow.com/questions/24066170/how-to-create- ns-options-style-bitmask-sayımları-hızlı) – dfri

+0

Ahh! İşe yaradı - teşekkürler! – Morgan

cevap

48

@dfri doğrudur.

imageView.autoresizingMask = [.FlexibleWidth, .FlexibleHeight, ...]

Tabii ki diğer UIViewAutoresizing seçenekleri ile ... değiştirecekti: | boru kullanmanın başka bir örnek göstermek için, "" aşağıdaki gibi UIImageView için autoResizingMask yaparken vardır.

İyi şanslar!

2

aşağıdaki gibi bir dizi hepsini koyun:

yerine borunun

let timeDateComponents = calendar.components(NSCalendarUnit.Hour| NSCalendarUnit.Minute| NSCalendarUnit.Second, fromDate: NSDate()) 

deneyin bu

let timeDateComponents = calendar.components([NSCalendarUnit.Hour, NSCalendarUnit.Minute, NSCalendarUnit.Second], fromDate: NSDate()) 
İlgili konular