【发布时间】:2012-01-24 22:48:30
【问题描述】:
如果不粘贴我的整个代码,这将很困难,但我希望我遗漏了一些简单的东西。基本上,当有一个网络链接(来自 NSDictionary)时,我想显示一个 UIbutton,当没有时,该按钮应该是不可见的。
首先我在- (void)viewDidLoad中将UIButton设置为不可见
之后是一个方法- (void)animationDidEndOnAnswer,如果有链接,按钮应该出现在该方法中。如果我只是输入button.alpha = 1;,那么它会在正确的时间显示,但我想做的是在没有网络链接的情况下让它不显示。
这是我目前在该方法中的代码:
- (void)animationDidEndOnAnswer
{
if ([[questions questionOnScreen] objectForKey:@"link"] == @"") {
leesmeerButton.alpha = 0;
}
else {
leesmeerButton.alpha = 1;
}
NSLog(@"link is %@", [[questions questionOnScreen] objectForKey:@"link"]);
}
在日志中,当没有链接时,我什么也看不到(甚至没有空格)。如果有,我会看到正确的网络链接...我也尝试过if ([[questions questionOnScreen] objectForKey:@"link"] == nil),但这也没有用。
任何帮助表示赞赏!谢谢!!
【问题讨论】:
-
你为什么在
NSString上使用==?您应该使用-isEqual:或-isEqualToString:。或者在这种特殊情况下,要同时处理@""和nil,您应该只要求-length并与 0 进行比较。 -
感谢凯文,我正在使用 == 因为我是新手!您的解决方案效果很好,谢谢!将来我会牢记这一点。