ma1*_*w28 52 objective-c naming-conventions swift
我应该按照Objective-C约定的建议给我的Swift类名称一个三字母前缀:类名在整个应用程序中必须是唯一的吗?
Dav*_*ong 69
不,你在Swift中不需要类前缀,因为类被命名为它们所在的模块.
如果您需要消除(例如)ArraySwift和Array您在应用程序中声明的类/结构之间的歧义,可以通过将其键入为a Swift.Array或a来实现MyProject.Array.这也适用于扩展:
extension Swift.Array {
...
}
extension MyProject.Array {
...
}
Run Code Online (Sandbox Code Playgroud)
Bar*_*zyk 16
不,前缀绝对不是必需的.
假设您的应用有MyApp名称,您需要申报自定义UICollectionViewController.
你不需要像这样的前缀和子类:
class MAUICollectionViewController: UICollectionViewController {}
Run Code Online (Sandbox Code Playgroud)
像这样做:
class UICollectionViewController {} //no error "invalid redeclaration o..."
Run Code Online (Sandbox Code Playgroud)
为什么?.因为您声明的内容是在当前模块中声明的,这是您当前的目标.并且UICollectionViewController从模块中UIKit声明UIKit.
如何在当前模块中使用它?
var customController = UICollectionViewController() //your custom class
var uikitController = UIKit.UICollectionViewController() //class from UIKit
Run Code Online (Sandbox Code Playgroud)
如何区别于其他模块?
var customController = MyApp.UICollectionViewController() //your custom class
var uikitController = UIKit.UICollectionViewController() //class from UIKit
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9805 次 |
| 最近记录: |