Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/40.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 在我的MVC中传递模型 序言,我对Obj-C非常陌生,但我确实有一些C++和java的OOP经验。p>_Iphone_Objective C - Fatal编程技术网

Iphone 在我的MVC中传递模型 序言,我对Obj-C非常陌生,但我确实有一些C++和java的OOP经验。p>

Iphone 在我的MVC中传递模型 序言,我对Obj-C非常陌生,但我确实有一些C++和java的OOP经验。p>,iphone,objective-c,Iphone,Objective C,所以我已经开始阅读和学习iphone开发的Obj-C,现在我正试图制作我的第一个MVC程序 基本上,我所做的是创建一个按钮,现在我希望我的控制器在按下按钮时向我的模型发送消息。我已验证控制器方法已成功调用,但我无法从控制器成功发送消息给我的模型。我不知道为什么,但是函数(void)myfunction没有执行 我的控制器名为TestViewController,我的模型名为Brain //TestViewController.m #import "TestViewController.h" @

所以我已经开始阅读和学习iphone开发的Obj-C,现在我正试图制作我的第一个MVC程序

基本上,我所做的是创建一个按钮,现在我希望我的控制器在按下按钮时向我的模型发送消息。我已验证控制器方法已成功调用,但我无法从控制器成功发送消息给我的模型。我不知道为什么,但是函数
(void)myfunction
没有执行

我的控制器名为
TestViewController
,我的模型名为
Brain

//TestViewController.m
#import "TestViewController.h"

@implementation TestViewController

- (Brain *)mybrain
{
    if (!mybrain)mybrain = [[Brain alloc] init];
    NSLog(@"mybrain is initialized..");
    return mybrain;
}


- (IBAction)buttonPressed:(UIButton *)sender 
{
    NSLog(@"Controller has been messaged!");
    [mybrain myfunction];
}


//Brain.m
#import "Brain.h"
@implementation Brain

-(void)myfunction
{
    NSLog(@"Model has been messaged!");
    return;
}

@end

你是否保留了myBrain对象?看起来这个代码不完整。我在代码示例中看到的第一件事是myBrain对象在任何地方都没有保留。所以很可能是它泄漏了,而您正在发送消息nil,因此什么也没有发生。

您的意思是您在日志中看到“控制器已发送消息!”,而不是“模型已发送消息!”?或者你看不到这两条消息吗?(Brain*)mybrain在哪里被调用?我在我的日志中看到“控制器已收到消息!”,但没有看到“模型已收到消息!”。在这个程序中,(Brain*)mybrain没有被调用。你的意思是你没有初始化mybrain并调用[mybrain myfunction]或者只是上面的代码没有mybrain初始化部分?似乎我忘记了通过调用-(Brain*)mybrain来创建mybrain对象本身。我确实是零。谢谢