我有一个单身人士课程:
COMMDLG_AFXCTXFUNC(BOOL ,PrintDlgW,(LPPRINTDLGW unnamed1),(unnamed1))
7824CD80 mov edi,edi
7824CD82 push ebp
7824CD83 mov ebp,esp
7824CD85 mov eax,dword ptr [unnamed1]
7824CD88 push eax
7824CD89 call AfxGetModuleState (780F3320h)
7824CD8E mov ecx,dword ptr [eax+94h]
7824CD94 mov ecx,dword ptr [ecx+4]
7824CD97 call CCommDlgWrapper::_PrintDlgW (7824CDB0h)
7824CD9C pop ebp //<======= it's stopped at this point.
7824CD9D ret 4
如何确保只能通过final class NotificationSingleton : NSObject {
static let sharedInstance = NotificationSingleton()
var aProperty: String!
var anotherProperty: Int!
}
访问aProperty
和anotherProperty
?
答案 0 :(得分:1)
您可以将初始化程序设为私有 因此,不能创建其他实例
private override init() {}
答案 1 :(得分:0)
您可以使用可用的初始化程序,以防止在设置NotificationSingleton
后创建其他sharedInstance
个实例。
我怀疑这种防御性编程实际上会让这个类在未来被其他开发人员使用,很难测试,并且可能有一个更清晰的解决方案,它不依赖于单例作为全局,但你去了