首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在子类之间传递图像的C4

在子类之间传递图像的C4
EN

Stack Overflow用户
提问于 2013-10-24 10:01:29
回答 1查看 42关注 0票数 1

我试图在两个不同的视图之间传递一个图像,这些视图作为子类添加到MainCanvasController中。图像似乎被传递了(当打印到控制台时它会显示出来),但是它没有显示任何东西.这就是我如何尝试接收和显示图像。

代码语言:javascript
复制
-(void)receiveNumber:(C4Image*)number{
    C4Log(@"number:%@", number);
    number.center=self.canvas.center;
    [self.canvas addImage:number];

    receivedImage=number;
    C4Log(@"received number: %@", receivedImage);

   }

下面是我发布图片的方式

代码语言:javascript
复制
[secondView receiveNumber:originalImage];

我不知道到底出了什么问题。(说实话,我一点也不知道.)因此,任何提示都是非常感谢的!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-10-25 21:44:47

我看了一下你的项目,找到了答案。

FirstView对象有一个名为secondView变量,它与主工作区中的对象完全相同。然而,尽管具有相同的名称,这两个都是不同的对象。

我做了几件事:

1)不要在对象的接口文件中使用变量,而是使用属性。2)在您的SecondView类中创建一个FirstView属性( 3)将属性 of firstView设置为工作区中的相同对象secondView

我的FirstView.h看起来像:

代码语言:javascript
复制
@interface FirstView : C4CanvasController{
    C4Label *goToSecondView;
}
@property (readwrite, strong) C4Window *mainCanvas;
@property (readwrite, strong) C4Image *postedImage;
@property (readwrite, strong) SecondView *secondView;
@end

我的postNoti:看起来像:

代码语言:javascript
复制
-(void)postNoti{
    C4Log(@"tapped");
    [self postNotification:@"changeToSecond"];
    [self.secondView receiveNumber:self.postedImage];
}

注意,,我去掉了[SecondView new];行。

以下是您缺少的部分

我的工作区有以下一行:

代码语言:javascript
复制
firstView.secondView = secondView;

它将第一个视图的变量设置为具有对secondView对象的引用。

您没有这样做,所以您将图像传递给一个对象,该对象的名称与从主工作区的画布中可见的视图相同。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19562806

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档