進行選擇我想要實現這樣的事情與布爾屬性
[self perform Selector:@selector(setEarlierMessagesIsLoading:) withObject:@YES afterDelay:1];
但它不能正常工作。爲什麼?可能嗎 ?
解決了與
[self perform Selector:@selector(setEarlierMessagesIsLoading:) withObject:YES afterDelay:1];
進行選擇我想要實現這樣的事情與布爾屬性
[self perform Selector:@selector(setEarlierMessagesIsLoading:) withObject:@YES afterDelay:1];
但它不能正常工作。爲什麼?可能嗎 ?
解決了與
[self perform Selector:@selector(setEarlierMessagesIsLoading:) withObject:YES afterDelay:1];
即時猜測你的方法是這樣的:
- (void)setEarlierMessagesIsLoading:(BOOL)isLoading;
更改爲:
- (void)setEarlierMessagesIsLoading:(NSNumber *)isLoading;
因爲你是在一個的NSNumber發送*而不是BOOL 。
首先,@YES
不是BOOL值,它是NSNumber的一個實例。
所以,如果你想獲得一個布爾值,你必須將其轉換爲布爾值。
在您選擇器[iPhone?:performSelector與BOOL參數]的
- (void)setEarlierMessagesIsLoading:(NSNumber *)isLoading {
if([isLoading boolValue]) {
NSLog(@"Is it loading? YES");
}else {
NSLog(@"Is it loading? NO");
}
}
可能重複(http://stackoverflow.com/questions/7075620/iphone-performselector-with-bool-parameter) – dan
你正在向'setEarlierMessagesIsLoading:'方法 –
發送'NSNumber'實例定義「不能工作」。顯示你的'setEarlierMessagesIsLoading:'方法。解釋發生的事情與你期望發生的事情。 – rmaddy