Ios 未正确设置共享实例

Ios 未正确设置共享实例,ios,objective-c,Ios,Objective C,所以我的共享实例对象一直返回nil ViewController.h 我有一处房产 @性质非原子布尔是连通的 ViewController.m 我知道bleDidConnect在我登录后被呼叫 ViewControllerTwo.m 一直返回false,除非我在ViewController.m的init中从注释中读取设置_isConnected=TRUE。我觉得你把很多事情搞混了。这就是我鄙视stackoverflow的原因,因为人们只需按ctrl+c&ctrl+p,但这种攻击也没有任何好处 从

所以我的共享实例对象一直返回nil

ViewController.h

我有一处房产 @性质非原子布尔是连通的

ViewController.m

我知道bleDidConnect在我登录后被呼叫

ViewControllerTwo.m


一直返回false,除非我在ViewController.m的init中从注释中读取设置_isConnected=TRUE。我觉得你把很多事情搞混了。这就是我鄙视stackoverflow的原因,因为人们只需按ctrl+c&ctrl+p,但这种攻击也没有任何好处

从代码中查看_isConnected=TRUE是在该类内部设置的,但是当您尝试在该类外部访问它时,它被设置为False

尝试使用[ViewController sharedInstance]替换_已连接。已连接=TRUE

试着在你的另一节课上叫它


希望你能了解为什么这是有效的,而另一种方法是无效的。真的试着去了解发生了什么!这就是编码的美妙之处

[ViewController sharedInstance]是否返回非零值?似乎您出于某种原因删除了以前的问题和相关问题。您发布的代码不是针对单身人士的。在你的问题中显示更多相关的代码。你不应该,永远,永远,永远不要让你的视图控制器成为一个单一的。顺便说一句,你似乎遵循了一个非常古老和过时的教程。不需要ivar和@synthetic线路。为自己找一本现代教程。你拒绝发布相关代码,这对任何人来说都不是一件容易的事。是否对共享实例或ViewController的某个其他实例调用了bleDidConnectPeripheral?建议更新bleDidConnectPeripheral方法以更新共享实例而不是self,这是错误的建议。
@interface ViewController () {
    BOOL _isConnected;
}
@synthesize isConnected = _isConnected;


-(void)bleDidConnectPeripheral : (CBPeripheral *)aPeripheral{
     _isConnected = TRUE;
}
NSLog([[ViewController sharedInstance] isConnected] ? @"TRUE" : @"FALSE");