68 id _representedObject;
97 - (id)initWithCibName:(
CPString)aCibNameOrNil bundle:(
CPBundle)aCibBundleOrNil owner:(
id)anOwner
122 _cibName = aCibNameOrNil;
157 var cib = [CPViewControllerCachedCibs objectForKey:_cibName];
163 [CPViewControllerCachedCibs setObject:cib forKey:_cibName];
166 [cib instantiateCibWithExternalNameTable:_cibExternalNameTable];
185 var cibOwner = [_cibExternalNameTable objectForKey:CPCibOwner];
187 if ([cibOwner respondsToSelector:
@selector(viewControllerWillLoadCib:)])
188 [cibOwner viewControllerWillLoadCib:self];
192 if (_view === nil && [cibOwner isKindOfClass:[
CPDocument class]])
193 [
self setView:[cibOwner valueForKey:@"view"]];
197 var reason = [
CPString stringWithFormat:@"View for %@ could not be loaded from Cib or no view specified. Override loadView to load the view manually.", self];
202 if ([cibOwner respondsToSelector:
@selector(viewControllerDidLoadCib:)])
203 [cibOwner viewControllerDidLoadCib:self];
219 [
self willChangeValueForKey:"isViewLoaded"];
222 [
self didChangeValueForKey:"isViewLoaded"];
249 var willChangeIsViewLoaded = (_isViewLoaded == NO && aView != nil) || (_isViewLoaded == YES && aView == nil);
251 if (willChangeIsViewLoaded)
255 _isViewLoaded = aView !== nil;
257 if (willChangeIsViewLoaded)
261 - (BOOL)automaticallyNotifiesObserversOfIsViewLoaded
287 _view = [aCoder decodeObjectForKey:CPViewControllerViewKey];
288 _title = [aCoder decodeObjectForKey:CPViewControllerTitleKey];
289 _cibName = [aCoder decodeObjectForKey:CPViewControllerCibNameKey];
291 var bundlePath = [aCoder decodeObjectForKey:CPViewControllerBundleKey];
309 [aCoder encodeObject:_view forKey:CPViewControllerViewKey];
310 [aCoder encodeObject:_title forKey:CPViewControllerTitleKey];
311 [aCoder encodeObject:_cibName forKey:CPViewControllerCibNameKey];
312 [aCoder encodeObject:[_cibBundle bundlePath] forKey:CPViewControllerBundleKey];
340 return _isViewLoaded;
346 - (id)representedObject
348 return _representedObject;
354 - (void)setRepresentedObject:(
id)aValue
356 _representedObject = aValue;
396 return _cibExternalNameTable;