Xcode Playground 中“导入 Cocoa”和“导入 Foundation”有什么区别

问题描述 投票:0回答:1

此代码在 Playground 中运行良好

import Foundation

let stringDate : NSString = "1403437865"
let date = NSDate(timeIntervalSince1970:stringDate.doubleValue)

var outputFormat = NSDateFormatter()
outputFormat.locale = NSLocale(localeIdentifier:"ko_KR")
outputFormat.dateStyle = .MediumStyle
outputFormat.timeStyle = .MediumStyle
println("Result: \(outputFormat.stringFromDate(date))")

但是这段代码在 Playground 中不起作用

import Cocoa

let stringDate : NSString = "1403437865"
let date = NSDate(timeIntervalSince1970:stringDate.doubleValue)

var outputFormat = NSDateFormatter()
outputFormat.locale = NSLocale(localeIdentifier:"ko_KR")
outputFormat.dateStyle = .MediumStyle
outputFormat.timeStyle = .MediumStyle
println("Result: \(outputFormat.stringFromDate(date))")

唯一的区别是“导入可可”这一行!

这是 Playground 中的错误吗?

swift xcode cocoa foundation
1个回答
9
投票

您的 Playground 很可能是为 iOS 平台创建的 -

Cocoa
是 OS X 目标的框架,其 iOS 对应项是
UIKit
,并且都包含与用户界面相关的 API(针对各自的平台)。尝试将其更改为:

import UIKit

它应该可以工作。

Foundation 是一个框架,包含多个 API,例如 NSString、NSDate、NSDateFormatter。它已经包含在 Cocoa 和 UIKit 中,因此如果已经导入了 2 个之一,则无需重新导入。

但是,您在问题中发布的代码仅使用 Foundation 中的类,因此无需导入 UIKit 或 Cocoa。

© www.soinside.com 2019 - 2024. All rights reserved.