作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
你好,我目前正在将一个用 Objective C 编写的项目翻译成 swift,我遇到了一个难题。在 Objective-C 中,对象 (SearchItem) 是对象 Item 的子类,并且具有同一类 (SearchItem) 的静态变量。静态变量在静态函数中初始化。问题是在 Objective-C 上有一个初始化父类(super class)变量的非静态函数,我试图复制这个但我不是 100% 如何处理这个,我想尽可能保持相同的格式,任何帮助都会很棒!
Objective-C :
.h文件包括:
@interface SearchItem : Item
.m 文件包括:
static SearchItem *sharedSearchItem = nil;
+(id)sharedSearchItem {
@synchronized(self) {
if(sharedSearchItem == nil){
sharedSearchItem = [SearchItem new];
//other methods
}
}
return sharedSearchItem;
}
-(void)configureWithSettingsConfig:(SettingsConfig *)settings{
NSLog(@"%@", [super initWithSettings:settings]);
//Other methods
}
swift :
static var sharedSearchItem: SearchItem? = nil
static func sharedSearchItemInit(){
if(sharedSearchItem == nil){
sharedSearchItem = SearchItem()
//Other methods
}
}
func configureWithSettingsConfig(settings: SettingsConfig){
print(SearchItem.init(settings: settings)) // creates separate object need it to be on same instantiation
/*
The following calls won’t work
self = ServiceFacade.init(settings: settings)
self.init(settings: settings)
super.init(settings: settings)*/
//Other methods
}
最佳答案
在 Swift 中,我们创建单例的方式很简单:
static let sharedSearchItem = SearchItem()
就是这样。不需要特殊的“sharedInit”函数。
关于objective-c - 将对象从静态变量 Objective C 初始化为 Swift,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44337451/
出于好奇,我尝试了一些原型(prototype)制作,但似乎只允许在第一个位置使用子例程的原型(prototype) &。 当我写作时 sub test (&$$) { do_somethin
我需要开发一个类似于 Android Play 商店应用程序或类似 this app 的应用程序.我阅读了很多教程,发现几乎每个教程都有与 this one 类似的例子。 . 我已经开始使用我的应用程
考虑一个表示“事件之间的时间”的列: (5, 40, 3, 6, 0, 9, 0, 4, 5, 18, 2, 4, 3, 2) 我想将这些分组到 30 个桶中,但桶会重置。期望的结果: (0, 1,
我是一名优秀的程序员,十分优秀!