2013-01-20 85 views
0

我的头方法从未被调用?

@interface WirelessController : UIViewController { 
    Server *_server; 
} 
@property(nonatomic, retain) Server *server; 

我的主类

@synthesize server = _server; 
NSData *data = [@"Some encoded text." dataUsingEncoding:NSUTF8StringEncoding]; 
/* BOOL test = */ [self.server sendData:data error:nil]; 

我设置一个断点在SendData方法(在服务器类中),但它从来没有触发BOOL测试返回false。看起来好像这条线对于设备来说是不可见的,并且不运行或者其他东西。

编辑: 我没有链接self.server到最初分配的(这恰好是一个伊娃)。任何方式我可以访问该ivar?

+0

美元甜甜圈图片是正确的,你的'服务器'值是零。 NS在通话之前记录它。 –

+0

@HotLicks是的,你是对的。我需要从另一个类获得ivar'_server'并使用它来调用'sendData' – vqdave

+0

“我可以通过任何方式访问该ivar?”在我看来,这是你需要问自己的问题。 –

回答

0

你如何分配服务器?

某处,应该有一个线有点像:

self.server = [[Server alloc] initWithURL:anURL]; // assuming ARC, so implied double retain matters not. 

(显然,更换initWithURL:Server与您的特定应用的详细信息。)


OK - 所以你有这样的一些其他类:

other.server = [[Server alloc] initWithProtocol:type]; 

(1)当然,这是执行?

(2)在执行sendData:的代码中,将assert(self.server);放在上一行并再次尝试(即检查它是否为零)。

+0

[[Server alloc] initWithProtocol:type]在另一个类 – vqdave

+0

@vectorquake,你在哪里设置_server到你的alloc'd服务器实例? – foundry