var defaults = NSUserDefaults.standardUserDefaults();
var titlesForTip : [NSString]? = defaults.objectForKey("titleForTipSegment") as? [NSString]
if titlesForTip == nil //Check for first run of app
{
titlesForTip = ["18%", "20%", "22%"]; //Default value
}
// it is ok to get first and last elements
println(titlesForTip?.first)
for item in titlesForTip {//**error [NSString]? does not have a member named Generator**
println(item)
}
//**error type [NSString]? does not conform to protocol sequence type**
for (var index, var value) in enumerate(titlesForTip) {
println("Item \(index + 1): \(value)")
}
titlesForTip[1];//**error [NSString]? does not have a member named subscript**
在調試窗口中,它顯示titlesForTip,包括3個元素並顯示在titlesForTip [0] ... titlesForTip [2]中,但我無法通過[]訪問它。如何在Swift中迭代NSString?
它運行在Xcode 6.1.1中,我不知道如何迭代它。我的代碼: var titlesForTip:[NSString]? = defaults.objectForKey(「titleForTipSegment」)as? [NSString] if(titlesForTip?== nil || titlesForTip!== [])//檢查應用程序的第一次運行 titlesForTip = [「18%」,「20%」,「22%」]//默認值 } 當沒有任何內容時,objectForKey將返回null數組,因此titlesForTip == nil永遠不會發生。
titlesForTip是可選的。你需要解開它。 –