在iOS的单个视图应用程序项目中,我能够使用ViewController文件中未导入Foundation模块的Foundation模块中定义的String类型的contains(_ :)方法。为什么这可能?此文件中导入的唯一模块是UIKit模块。是否通过UIKit模块间接提供了contains(_ :)方法的定义?如果是,怎么样?
ViewController.swift:
import UIKit
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
let s = "Hello"
print(s.contains("H"))
}
}
答案 0 :(得分:0)
如果您在导入行中uint32_t* srcPtr = (uint32_t*)src->get();
uint8_t* dstPtr = dst->get();
dstPtr[0] = ((*srcPtr) >> 16) & 0xFF;
dstPtr[1] = ((*srcPtr) >> 8) & 0xFF;
dstPtr[2] = (*srcPtr) & 0xFF;
dstPtr[3] = ((*srcPtr) >> 24);
上命令+单击(当然在Xcode中),您将进入UIKit
模块的定义。您将在该文件顶部看到的第一行是:
UIKit
由import Foundation
导入Foundation
后,您可以在代码中使用UIKit
方法,而无需在导入Foundation
时导入Foundation
。希望这会有所帮助:)