我有理由新的Xcode和Objective C.
我已成功加载所有的GUI对象上动态的我的意见的..
现在我想同样的动态加载的内容重复到全部或大部分我的看法..
我在这样的主视图的方法:
-(void)loadinfo:(id)sender{
//All dynamically loaded content etc..
}
我现在有调用此方法像这样的主视图。
[self loadinfo];
所以,现在我需要知道(没有复制和粘贴的方法到所有我的看法)如何调用从主力到其他视图的方法?
我希望这一切才有意义。
编辑
我在PHP我更了解,所以如果我是做在PHP同样的事情我会做一个名为functions.php的,并包含这个文件到所有的页面..这是不是同一个概念?
这个概念是从你的PHP函数找到方法不同。 在Objective C中一个与工作对象。 要共享的行为(你的PHP函数,在目标C调用的方法)对象之间,你需要的地方插槽行为到您的类层次结构。
因此,对于您的特定情况下,你将实现loadinfo
在通用类,这是一个子类方法NSView
,说MyGenericView
。 无论你的view1
和view2
班会,然后从该泛型类的子类,并继承loadinfo
方法。
如果你想从实施转移loadinfo
在你的基类,你可以通过做(在厂景或视图2)部分覆盖它:
- (void) loadview {
[super loadview]; // perform the default implementation
[self doSomethingDifferint]; // perform subclass specific stuff
}
... 要么:
- (void) loadview {
[self doSomethingDifferint]; // perform subclass specific stuff
[super loadview]; // perform the default implementation
}
......或者做完全覆盖:
- (void) loadview {
[self doSomethingCompletelyDifferent]; // perform subclass specific stuff
}
只是一个侧面说明:这是很好的做法,Objective C的命名你的类和方法时要遵循驼峰匹配的标准,所以你的类是View1
和View2
和方法是loadInfo
。
此外,你可能想阅读了关于通用OO原则和目标C的它的具体方面采取的语言和其功能的充分利用。
你应该继承具有所有的动态加载UI内容的看法。 所以,如果你有:
@interface MyCustomView : UIViewController
{
}
@property (strong, nonatomic) UIView *aView;
-(void)someMethod;
@end
您可以创建一个子类,将继承所有的属性,方法等:
@interface FirstView : MyCustomView
{
}
//all properties and methods of MyCustomView are inherited
@end
这样做对任何数量的要创建视图。