在子类上设置参数而不启动它?

时间:2013-12-11 17:40:58

标签: ios objective-c uiimageview subclass

我有一个UIImageView子类,正在抓取网址中的图片。

要初始化课程,您必须使用initWithFrame: andURL:

但是,我希望能够设置其他选项,而无需创建10种不同的自定义init方法。在子类中,还有大约5个其他变量,如果我不需要,我不想创建不必要的init。很抱歉,如果这很难理解 - 请参阅此示例:

CustomImageView *imageView = [[CustomImageView alloc] initWithFrame:frame andURL:url];
[imageView setSize:x];
[imageView setColor:y];
//I want the user to be able to set other variables to add parameters to the URL,
// but I don't want to have initWithFrame: andURL: andSize: or initWithFrame: andURL:
// andSize: andColor:

有没有办法使用这些参数加载图像而不使用(void)loadImage添加到子类?如果这令人困惑,请再次抱歉,感谢任何帮助,谢谢。

1 个答案:

答案 0 :(得分:1)

在图像视图子类中添加属性:

@property (nonatomic, strong) NSURL *imageUrl;

您现在可以随时使用以下方式设置网址:

[imageView setImageUrl:url];