如何访问其他类中的对象?

投资者关系工作

我想从ViewController 2访问ViewController 1中的一个函数。此方法有效(由断点和NSLog输出确认)。但是从ViewController 2调用时,访问在ViewController 1中定义的对象为nil

ViewController 1.h

#import "SRWebSocket.h"

@interface ViewController : UIViewController <UITextFieldDelegate, SRWebSocketDelegate> 
@property (nonatomic,strong) SRWebSocket *socket;

-(void)sendMessageToServerWithContent:(NSString *)message;

ViewController 1.m

- (IBAction)connect:(id)sender {

    socket.delegate = nil;
    socket = nil;

    socket = [[SRWebSocket alloc] initWithURLRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:serverIP_GLOBAL]]];

    socket.delegate = self;

}

-(void)sendMessageToServerWithContent:(NSString *)message{

//irrelevant code for question removed
[self.socket send:jsonString];

}

ViewController 2.h

#import "ViewController.h"

@property (nonatomic,strong) ViewController *viewVC;
@interface ContactsTableViewController : UITableViewController

ViewController 2.m

- (void)viewDidLoad {
    [super viewDidLoad];

    viewVC = [ViewController alloc];

    [viewVC sendMessageToServerWithContent:@"Test"]; 
    //When calling from here, the socket object in ViewController 1 is nil

}
吉里耶什·库玛(Girijesh Kumar)

您不能像这样初始化对象: viewVC = [ViewController alloc];

您必须将ViewContoller1的对象传递给ViewContoller2,即

在viewcontoller1上推动ViewContoller2时,您已编写了情节提要删除代码

 - (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
    {

        ViewController2 *view2=[segue destinationViewController];
        view2.viewVC=self; // pass viewcontoller1 object to viewcontoller2
    }

在ViewContoller2中,您将在viewVC变量中访问viewContoller1对象,您可以像这样直接调用它

- (void)viewDidLoad {

    [super viewDidLoad];
    [viewVC sendMessageToServerWithContent:@"Test"]; 
    //When calling from here, the socket object in ViewController 1 is nil

}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

TypeScript如何访问其他类中定义的对象

来自分类Dev

如何在Qt中访问其他类的对象?

来自分类Dev

从其他类访问main中的对象

来自分类Dev

如何访问其他类中的变量

来自分类Dev

从其他类访问对象

来自分类Dev

如何使其他类可以访问对象

来自分类Dev

访问其他Java类中的SharedPreference和Editor对象

来自分类Dev

如何访问其他对象列表中的lm()对象的名称?

来自分类Dev

访问其他类的对象java

来自分类Dev

如何访问 Flash Builder 中的其他类

来自分类Dev

如何从Java中的其他方法访问对象?

来自分类Dev

如何访问其他页面中的XAML对象

来自分类Dev

如何从Java中的其他类获取对象的名称

来自分类Dev

如何在其他函数中引用类对象?

来自分类Dev

AndroidAnnotations将Singleton类对象访问到其他类的静态方法中

来自分类Dev

我如何访问其他Mappble类对象的值。(Alamofire对象映射器)

来自分类Dev

如何创建全局FileInputStream对象,该对象可从项目中的其他类进行访问?

来自分类Dev

如何从其他类访问的DefaultTableModel

来自分类Dev

访问其他Java类中的文件?

来自分类Dev

访问其他Java类中的文件?

来自分类Dev

在VB.net中,如何从嵌套类中的其他函数访问类中的函数?

来自分类Dev

如何访问其他对象的功能

来自分类Dev

访问其他脚本中的对象属性

来自分类Dev

包对象中定义的Val在其他类中无法访问

来自分类Dev

定义其他类中的对象

来自分类Dev

在其他代码初始化器中访问一个类的对象

来自分类Dev

访问其他类中的对象的最有效实践:Java

来自分类Dev

如何直接从其他类的库类中访问方法?爪哇

来自分类Dev

如何从其他类访问一个类中的方法

Related 相关文章

热门标签

归档