壓Swift嶄聞喘Cocoa方象窃侏
<貧匯准
和匯准>
恬葎斤 Objective-C 札喘來?札荷恬來?議匯何蛍?Swift戻工酔楯互丼議圭塀栖侃尖Cocoa方象窃侏。
Swift 氏徭強繍匯乂 Objective-C 窃侏廬算葎 Swift 窃侏?參式繍 Swift 窃侏廬算葎 Objective-C 窃侏。壓 Objective-C 才 Swift 嶄匆嗤匯乂醤嗤札喘來議方象窃侏。椎乂辛廬算議方象窃侏賜宀醤嗤札喘來議方象窃侏瓜各葎bridged方象窃侏。訟倖箭徨?壓 Swift 嶄?艇辛參繍匯倖Array峙勧弓公匯倖勣箔葎NSArray斤嵆議圭隈。低匆辛參廬算匯倖 bridged 窃侏才万議険云。輝低聞喘as廬算 bridged 窃侏賜宀椎乂喇械楚才延楚侭戻工議窃侏扮?Swift 氏播俊万断議方象窃侏。
Swift 匆戻工匯嶽酒汽宴楯議顕固圭隈栖銭俊 Foundation 議方象窃侏?壓朔中議 Swift 囂冱嶄?低嬬壓万議鞘隈嶄湖鞭欺徭隼才由匯。
葎阻塋俯忖憲堪廬算?峪俶俊秘Foundation。訟倖箭徨?艇壓 Swift 議匯倖忖憲堪嶄距喘阻capitalizedString--匯倖NSString窃議圭隈?緩朔 Swift 氏徭強繍String廬算葎匯倖NSString斤嵆旺距喘圭隈。宸倖圭隈封崛氏卦指匯倖 Swift 議String窃侏?咀葎万壓俊秘議扮昨瓜紋算阻。
和中侭双竃議窃侏脅氏徭強廬算葎NSNumber?
輝低繍匯倖NSArray斤嵆廬算撹匯倖 Swift 方怏朔?低匆辛參繍方怏膿崙窃侏廬算撹匯倖蒙協議窃侏。嚥貫NSArray窃廬算欺AnyObject[]音揖議頁?貫AnyObject窃侏議斤嵆廬算撹苧鳩議窃侏旺音氏隠屬撹孔。喇噐岷欺塰佩扮園咎匂嘉岑祇AnyObject議斤嵆嬬倦瓜膿崙廬算葎蒙協議窃侏?咀緩?貫AnyObject[]廬算葎SomeType[]氏卦指匯倖optional議峙。訟倖箭徨?泌惚低岑祇匯倖Swift方怏峪淫根UIView窃議糞箭(賜宀匯倖UIView窃議徨窃)?低辛參繍AnyObject窃侏議方怏圷殆膿崙廬算葎UIView斤嵆。泌惚Swift方怏嶄誼圷殆壓塰佩扮音頁UIView窃侏議斤嵆?椎担廬算夸氏卦指nil。
低匆辛參貫 Swift 方怏嶄幹秀匯倖NSArray斤嵆。輝低繍匯倖械楚賜延楚協吶葎匯倖NSArray斤嵆旺蛍塘匯倖方怏公万恬葎糞箭延楚扮?Swift 繍氏幹秀 NSArray斤嵆?遇音頁 Swift 方怏。
輝艇壓 Objective-C 旗鷹嶄聞喘 Swift 窃賜宀亅咏扮?俊秘議API氏繍畠何侭嗤窃侏議Swift方怏旗紋葎NSArray。飛艇繍匯倖NSArray斤嵆勧弓公Swift議API旺勣箔方怏圷殆葎匯倖仟議窃侏?塰佩扮祥氏恢伏危列。泌惚 Swift API 卦指匯倖音嬬瓜廬算葎NSArray窃侏議 Swift 方怏?危列匆氏昧岻恢伏。
Swift 嶄音壅贋壓NSAssert痕方?函遇旗岻議頁assert痕方。
Core Foundation 嶄議CFTypeRef窃侏氏斤Anyobject窃侏嶷啌符。侭參低參念聞喘議CFTypeRef?孖壓乎算撹AnyObject阻。
曳泌?邪譜宸戦嗤匯倖 C 痕方?宸倖痕方壓卦指峙念音氏瞥慧CFString斤嵆。壓聞喘宸倖斤嵆念?艇聞喘takeUnretainedValue()痕方?參繍万廬算葎匯倖嬬校坪贋砿尖熔砿議斤嵆。
Swift 氏徭強繍匯乂 Objective-C 窃侏廬算葎 Swift 窃侏?參式繍 Swift 窃侏廬算葎 Objective-C 窃侏。壓 Objective-C 才 Swift 嶄匆嗤匯乂醤嗤札喘來議方象窃侏。椎乂辛廬算議方象窃侏賜宀醤嗤札喘來議方象窃侏瓜各葎bridged方象窃侏。訟倖箭徨?壓 Swift 嶄?艇辛參繍匯倖Array峙勧弓公匯倖勣箔葎NSArray斤嵆議圭隈。低匆辛參廬算匯倖 bridged 窃侏才万議険云。輝低聞喘as廬算 bridged 窃侏賜宀椎乂喇械楚才延楚侭戻工議窃侏扮?Swift 氏播俊万断議方象窃侏。
Swift 匆戻工匯嶽酒汽宴楯議顕固圭隈栖銭俊 Foundation 議方象窃侏?壓朔中議 Swift 囂冱嶄?低嬬壓万議鞘隈嶄湖鞭欺徭隼才由匯。
忖憲堪
Swift氏壓String窃侏才NSString窃侏嶄徭強廬算。宸吭龍彭壓辛參聞喘NSString斤嵆議仇圭?艇辛參聞喘匯倖奉噐 Swift 議String窃侏旗紋万?宸劔恂氏揖扮啜嗤万断方象窃侏議蒙泣?String窃侏議峨峙?児噐Swift譜柴議APIs參式NSString窃厚鴻議癖喘袈律。咀緩?艇叱窄音駅壅壓低議旗鷹嶄聞喘NSString窃。並糞貧?輝 Swift 俊秘 Objective-C APIs 扮?万繍委侭嗤NSString窃侏紋算葎String窃侏。輝艇壓艇議Objective-C旗鷹嶄聞喘 Swift 窃扮?俊秘議API氏繍侭嗤String窃侏紋算撹NSString窃侏。葎阻塋俯忖憲堪廬算?峪俶俊秘Foundation。訟倖箭徨?艇壓 Swift 議匯倖忖憲堪嶄距喘阻capitalizedString--匯倖NSString窃議圭隈?緩朔 Swift 氏徭強繍String廬算葎匯倖NSString斤嵆旺距喘圭隈。宸倖圭隈封崛氏卦指匯倖 Swift 議String窃侏?咀葎万壓俊秘議扮昨瓜紋算阻。
import Foundation let greeting = "hello, world!" let capitalizedGreeting = greeting.capitalizedString // capitalizedGreeting: String = Hello, World!泌惚艇鳩糞俶勣喘欺匯倖NSString斤嵆?艇辛參喘匯倖 Swift 議String峙旺廬算万。String窃侏悳頁辛參貫匯倖NSString斤嵆廬算葎匯倖Swift議String議峙?咀緩?壅短嗤駅勣肇聞喘匯倖辛僉議窃侏廬算匂()as?)。艇匆辛參壅匯倖忖憲堪嶄宥狛協吶械楚才延楚栖幹秀匯倖NSString斤嵆。
import Foundation
let myString: NSString = "123"
if let integerValue = (myString as String).toInt()){
println("\(myString) is the integer \(integerValue)")
}
云仇晒
壓Objective-C嶄?械喘NSLocalizedString窃議崎栖協了匯倖忖憲堪。宸鹿栽議崎淫凄NSLocalizedStringFromTableInBundle才NSLocalizedStringWithDefaultValue。遇壓Swift嶄?峪喘匯倖痕方祥辛參糞孖効屁倖NSLocalizedString鹿匯劔議孔嬬?軸NSLocalizedString(key:tableName:bundle:value:comment:)。宸倖NSLocalizedString痕方蛍艶葎tableName?bundle才value歌方戻工阻匯倖潮範峙。低辛參喘万栖紋算崎。方忖
Swift氏徭強繍厮鳩協議方忖窃侏Int才Float廬算葎NSNumber。宸劔議廬算塋俯低児噐凪嶄匯嶽窃侏幹秀匯倖NSNumber?let n = 42 let m: NSNumber = n低匆嬬勧弓匯倖Int窃侏議峙?曳泌勧弓公匯倖勣箔葎NSNumber窃侏議歌方。揖扮俶勣廣吭議頁?NSNumber辛參淫根謹嶽音揖議窃侏?咀緩艇音嬬委万勧弓公汽匯議匯倖Int峙。
和中侭双竃議窃侏脅氏徭強廬算葎NSNumber?
- Int
- UInt
- Float
- Double
- Bool
窃鹿栽
Swift 氏徭強繍NSArray才NSDictionary窃廬算葎Swift戦吉勺議窃。宸吭龍彭低繍鞭吩噐Swift膿寄議麻隈才誼爺鏡搾議囂隈栖侃尖鹿栽--辛札屢廬算議 Foundation 才 Swift 鹿栽窃侏。方怏
Swift 氏壓Array窃侏才NSArray窃侏嶄徭強廬算。輝低貫匯倖 Swift 方怏廬算欺匯倖NSArray斤嵆?廬算朔議方怏頁匯倖AnyObject[]窃侏議方怏。泌惚蝶倖斤嵆頁 Objective-C 賜宀 Swift 窃議糞箭?賜宀宸倖斤嵆辛參廬算撹総匯嶽窃侏?椎担宸倖斤嵆夸奉噐AnyObject窃侏議斤嵆。低辛參繍販匯NSArray斤嵆廬算撹匯倖 Swift 方怏?咀葎侭嗤 Objective-C 議斤嵆脅頁AnyObject窃侏議。屎咀泌緩?Swift 議園咎匂氏壓俊秘 Objective-C APIs 議扮昨繍NSArray窃紋算撹AnyObject[]。輝低繍匯倖NSArray斤嵆廬算撹匯倖 Swift 方怏朔?低匆辛參繍方怏膿崙窃侏廬算撹匯倖蒙協議窃侏。嚥貫NSArray窃廬算欺AnyObject[]音揖議頁?貫AnyObject窃侏議斤嵆廬算撹苧鳩議窃侏旺音氏隠屬撹孔。喇噐岷欺塰佩扮園咎匂嘉岑祇AnyObject議斤嵆嬬倦瓜膿崙廬算葎蒙協議窃侏?咀緩?貫AnyObject[]廬算葎SomeType[]氏卦指匯倖optional議峙。訟倖箭徨?泌惚低岑祇匯倖Swift方怏峪淫根UIView窃議糞箭(賜宀匯倖UIView窃議徨窃)?低辛參繍AnyObject窃侏議方怏圷殆膿崙廬算葎UIView斤嵆。泌惚Swift方怏嶄誼圷殆壓塰佩扮音頁UIView窃侏議斤嵆?椎担廬算夸氏卦指nil。
let swiftyArray = foundationArray as AnyObject[]
if let downcastedSwiftArray = swiftArray as? UIView[] {
// downcastedSwiftArray contains only UIView objects
}
低匆辛參壓for儉桟嶄繍NSArray斤嵆協?仇膿崙廬算葎蒙協窃侏議Swift方怏:
for aView: UIView! in foundationArray {
// aView is of type UIView
}
廣吭?宸嶽廬算頁膿崙廬算?泌惚廬算音撹孔夸氏壓塰佩扮恢伏危列佚連。輝低貫 Swift 方怏廬算葎NSArray斤嵆扮?Swift 方怏戦議圷殆駅倬頁奉噐AnyObject議。箭泌?匯倖Int[]窃侏議 Swift 方怏淫根Int潤更議圷殆。Int窃侏旺音頁匯倖窃議糞箭?徽喇噐Int窃侏廬算撹阻NSNumber窃?Int窃侏奉噐AnyObject窃侏議。咀緩?低辛參繍匯倖Int[]窃侏議Swift方怏廬算葎NSArray斤嵆。泌惚 Swift 方怏戦議匯倖圷殆音奉噐AnyObject窃侏?椎担壓塰佩扮祥氏恢伏危列。
低匆辛參貫 Swift 方怏嶄幹秀匯倖NSArray斤嵆。輝低繍匯倖械楚賜延楚協吶葎匯倖NSArray斤嵆旺蛍塘匯倖方怏公万恬葎糞箭延楚扮?Swift 繍氏幹秀 NSArray斤嵆?遇音頁 Swift 方怏。
let schoolSupplies: NSArray = ["Pencil", "Eraser", "Notebkko"] // schoolSupplies is an NSArray object containing NSString objects貧中議箭徨嶄?Swift 方怏淫根淫根眉倖String忖憲堪。喇噐貫String窃侏廬算葎NSString窃?方怏忖中楚瓜廬算撹匯倖NSArray斤嵆?旺撹孔蛍塘公schoolSupplies延楚。
輝艇壓 Objective-C 旗鷹嶄聞喘 Swift 窃賜宀亅咏扮?俊秘議API氏繍畠何侭嗤窃侏議Swift方怏旗紋葎NSArray。飛艇繍匯倖NSArray斤嵆勧弓公Swift議API旺勣箔方怏圷殆葎匯倖仟議窃侏?塰佩扮祥氏恢伏危列。泌惚 Swift API 卦指匯倖音嬬瓜廬算葎NSArray窃侏議 Swift 方怏?危列匆氏昧岻恢伏。
Foundation方象窃侏
Swift 匆戻工匯嶽酒汽宴楯議顕固圭隈栖銭俊協吶壓 Foundation 崇尺嶄議方象窃侏。壓NSSize才NSPoint嶄聞喘顕固圭隈?壓複和議 Swift 囂冱嶄?低嬬壓万議鞘隈嶄湖鞭欺徭隼才由匯。曳泌?低辛參聞喘泌和囂隈幹秀匯倖NSSize窃侏議潤更:let size = NSSize(width: 20, height: 40)顕固圭隈匆塋俯低參匯嶽徭隼議圭塀距喘 Foundation 議潤更痕方。
let rect = NSRect(x: 50, y: 50, width: 100, height: 100) let width = rect.width // equivalent of NSWidth(rect) let maxX = rect.maxY // equivalent of NSMaxY(rect)Swift辛參繍NSUInteger才NSInteger廬算葎Int窃侏。宸乂窃侏脅氏壓 Foundation APIs 嶄延葎Int窃侏。壓 Swift 嶄Int械瓜勝辛嬬仇喘參銭香來?揖扮輝低勣箔匯倖涙憲催屁方窃侏扮?UInt窃侏悳頁辛聞喘議。
Foundation痕方
壓 Swift 嶄?NSLog辛壓狼由陣崙岬補竃佚連。艇辛參崧壓 Objective-C 嶄聞喘狛議囂隈鯉塀椎劔聞喘緩痕方。
NSLog("%.7f", pi) // Logs "3.1415927" to the console
揖扮?Swift 匆戻工崧print才println椎劔議補竃痕方。謹拷噐 Swift 議忖憲峨峙字崙嘉斑宸乂痕方酒汽?間羽?謹丼。宸乂痕方音氏壓狼由陣崙岬補竃佚連?徽壓俶勣距喘議扮昨抜頁辛喘議。Swift 嶄音壅贋壓NSAssert痕方?函遇旗岻議頁assert痕方。
Core Foundation
Swift嶄議 Core Foundation 窃侏頁匯倖撹母議窃。輝竃孖坪贋砿尖廣瞥扮?Swift 氏徭強仇砿尖 Core Foundation 斤嵆議坪贋?宸凪嶄淫凄低糞箭晒阻議 Core Foundation 斤嵆。壓 Swift 嶄?低辛參徭喇延算 Fundation 才 Core Foundation 窃侏。泌惚低?枠廬算葎播俊 Foundation 窃侏扮?低匆辛參播俊匯乂 toll-free bridged Core Foundation 窃侏欺 Swift 炎彈垂窃侏。嶷協吶窃侏
輝 Swift 擬秘 Core Foundation 窃侏扮?園咎匂氏嶷啌符擬秘議窃侏兆忖。園咎匂氏貫耽倖窃侏兆忖議挑極卞茅Ref?宸頁咀葎侭嗤議 Swift 窃脅奉噐哈喘窃侏?咀緩朔弸頁謹噫議。Core Foundation 嶄議CFTypeRef窃侏氏斤Anyobject窃侏嶷啌符。侭參低參念聞喘議CFTypeRef?孖壓乎算撹AnyObject阻。
坪贋砿尖斤嵆
壓 Swift 嶄?貫 annotated APIs 卦指議 Core Foundation 斤嵆嬬校徭強序佩坪贋砿尖--低音壅俶勣距喘徭附議CFRetain?CFRelease?賜宀CFAutorelease痕方。泌惚低貫徭附議C痕方才 Objective-C 圭隈嶄卦指匯倖 Core Foundation 斤嵆?低俶勣喘CF_RETURNS_RETAINED賜宀CF_RETURNS_NOT_RETAINED廣瞥宸倖斤嵆。輝 Swift 旗鷹嶄淫根宸乂 APIs 扮?園咎匂氏壓園咎扮徭強距喘坪贋砿尖。泌惚低峪距喘椎乂音氏寂俊卦指 Core Foundation 斤嵆議 annotated APIs?椎担孖壓低辛參柳狛云准議複噫何蛍阻。倦夸?和中厘断写偬僥楼掲熔砿議 Core Foundation 斤嵆。掲熔砿斤嵆
輝 Swift 擬秘 unannotated 議APIs扮?園咎匂繍音氏徭強仇斤卦指議 Core Foundation 斤嵆序佩坪贋砿尖熔砿。Swift 繍宸乂卦指議 Core Foundation 斤嵆撃液壓匯倖Unmanaged<T>潤更嶄。椎乂寂俊卦指 Core Foundation 議斤嵆匆頁掲熔砿議。訟倖箭徨?宸戦嗤匯倖 unannotated 議 C 痕方:CFStringRef StringByAddingTwoStrings(CFStringRef string1, CFStringRef string2)宸戦傍苧阻Swift頁奕担擬秘議:
func StringByAddingTwoStrings(CFString!, CFString!) -> Unmanaged<CFString>!邪譜艇貫 unannotated APIs 俊辺阻掲熔砿議斤嵆?壓聞喘万岻念?低駅倬繍万廬算葎嬬校坪贋砿尖議斤嵆。壓宸圭中?Swift 辛參逸低序佩坪贋砿尖遇音喘徭失強返。揖扮?Unmanaged<T>潤更匆戻工阻曾倖圭隈栖委匯倖掲熔砿斤嵆廬算葎匯倖辛坪贋砿尖議斤嵆--takeUnretainedValue()圭隈才takeRetainedValue()圭隈。宸曾倖圭隈氏卦指圻兵議?掲撃液議斤嵆窃侏。艇辛參功象艇糞縞距喘議APIs卦指議unretained賜retained議斤嵆?栖僉夲陳匯圭隈厚栽癖。
曳泌?邪譜宸戦嗤匯倖 C 痕方?宸倖痕方壓卦指峙念音氏瞥慧CFString斤嵆。壓聞喘宸倖斤嵆念?艇聞喘takeUnretainedValue()痕方?參繍万廬算葎匯倖嬬校坪贋砿尖熔砿議斤嵆。
let memoryManagedResult = StringByAddingTwoStrings(str1, str2).takeUnretainedValue() // memoryManagedResult is a memory managed CFString艇匆辛參壓匯倖掲熔砿議斤嵆嶄聞喘retain()?release()才autorelease()圭隈?徽頁宸嶽恂隈旺音峙誼容呪。
<貧匯准
和匯准>