我有一個布爾和即時通訊的單身人士試圖在我的VC之一,使一個方法,只要此布爾值更改值將被調用。作爲方法的開/關開關布爾
例如它會像:
-(void)onOff:(bool)flag {
if (flag){}
else {}
}
其全球布爾(在特定視圖 - 控制未聲明)
如何創建一個觀察者/已檢舉全球布爾的方法是什麼?
我有一個布爾和即時通訊的單身人士試圖在我的VC之一,使一個方法,只要此布爾值更改值將被調用。作爲方法的開/關開關布爾
例如它會像:
-(void)onOff:(bool)flag {
if (flag){}
else {}
}
其全球布爾(在特定視圖 - 控制未聲明)
如何創建一個觀察者/已檢舉全球布爾的方法是什麼?
一種方法可以是 - 您可以使用通知此
添加觀察在您的視圖控制器,其中更新用需要做
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(booleanValueChanged:)
name:@"BOOLEAN_NOTIFICATION"
object:nil];
- (void) booleanValueChanged:(NSNotification *) notification
NSDictionary *userInfo = notification.userInfo;
BOOL flag = [[userInfo objectForKey:@"booleanValue"] boolValue];
}
現在,無論你正在改變的價值那bool,使用下面的代碼:
NSDictionary *userInfo = [NSDictionary dictionaryWithObject:[NSNumber numberWithBool:flag] forKey:@"booleanValue"];
[[NSNotificationCenter defaultCenter] postNotificationName: @"BOOLEAN_NOTIFICATION" object:nil userInfo:userInfo];
作品像魅力:) – Dante
很高興它幫助! –
是什麼問題? – matt
編輯 - 即時通訊嘗試找到一種方法,讓一些觀察員的方法,將調用該方法,每當全球布爾變化,我怎麼能做到這一點? – Dante
你正在考慮這個倒退。如果您想知道值何時更改,請將其設置爲私人並提供必須調用的公共訪問器以更改該值。 – matt