Iphone 在我的MVC中传递模型 序言,我对Obj-C非常陌生,但我确实有一些C++和java的OOP经验。p>
所以我已经开始阅读和学习iphone开发的Obj-C,现在我正试图制作我的第一个MVC程序 基本上,我所做的是创建一个按钮,现在我希望我的控制器在按下按钮时向我的模型发送消息。我已验证控制器方法已成功调用,但我无法从控制器成功发送消息给我的模型。我不知道为什么,但是函数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" @
(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对象本身。我确实是零。谢谢