Is it possible to make the -init method private in Objective-C? -
i need hide (make private) -init method of class in objective-c.
how can that?
objective-c, smalltalk, has no concept of "private" versus "public" methods. message can sent object @ time.
what can throw nsinternalinconsistencyexception if -init method invoked:
- (id)init { [self release]; @throw [nsexception exceptionwithname:nsinternalinconsistencyexception reason:@"-init not valid initializer class foo" userinfo:nil]; homecoming nil; } the other alternative — far improve in practice — create -init sensible class if @ possible.
if you're trying because you're trying "ensure" singleton object used, don't bother. specifically, don't bother "override +allocwithzone:, -init, -retain, -release" method of creating singletons. it's virtually unnecessary , adding complication no real important advantage.
instead, write code such +sharedwhatever method how access singleton, , document way singleton instance in header. should need in vast bulk of cases.
objective-c
No comments:
Post a Comment