我需要知道是否有一种方法可以使用if语句来显示特定的NSString,这取决于该NSString是否包含任何数据。
我有一个叫nsstring的visitorInfo。
该字符串使用来自其他字符串的数据(即用户正在运行的操作系统)并显示该信息。下面是我要说的一个例子:
NSString *visitorInfo = [NSString stringWithFormat:@"INFO\n\nVisitor Location\n%@\n\nVisitor Blood Type\n\%@", _visitor.location, _visitor.bloodType];它会像这样展示:
INFO
Location
Miami, FL
Blood Type
O positive 然而,我有几个数据段,只有当用户选择这样做时才加载。他们的电子邮件地址。
下面这一部分代码可以做我想做的事情,但是我的visitorInfo字符串包含大量不同的字符串,如果我在下面使用这段代码,那么如果用户选择不提交他的血型,它就不会加载任何字符串。
if ([self.visitor.bloodType length] > 0) {
NSString *visitorInfo = [NSString stringWithFormat:@"INFO\n\nVisitor Location\n%@\n\nVisitor Blood Type\n\%@", _visitor.location, _visitor.bloodType];
}因此,基本上,如果它们的is数据存储在bloodType中,那么我就运行该代码,但是如果没有任何数据,我只希望它跳过bloodType,并完成其余数据的显示。
如果你还有什么问题请告诉我
其他细节。我使用NSString是有特定原因的,这就是为什么我不使用字典。
发布于 2014-07-25 20:44:30
只需根据需要使用NSMutableString构建字符串即可
NSMutableString *visitorInfo = [NSMutableString stringWithFormat:@"INFO\n\nVisitor Location\n%@, _visitor.location];
if ([self.visitor.bloodType length] > 0) {
[visitorInfo appendFormat:@"\n\nVisitor Blood Type\n\%@", _visitor.bloodType];
}发布于 2014-07-25 20:43:04
可以使用以下方法检查字符串中是否包含任何数据
if([_visitor.location length]<1){
//This means there's no data and is a better way of checking, rather than isEqualToString:@"".
}else{
//there is some date here
}编辑-(只需重新阅读您的问题,对不起,这个答案取决于在第一个place)*中_visitor.location是一个字符串。)
我希望这能帮到你
发布于 2014-07-26 02:35:57
试试这个-
NSString *str = @"INFO";
if (_visitor.location) {
str = [NSString stringWithFormat:@"\n\nVisitor Location\n%@",_visitor.location];
}
if (_visitor.bloodType) {
str = [NSString stringWithFormat:@"\n\nVisitor Blood Type\n\%@",_visitor.bloodType];
}https://stackoverflow.com/questions/24964029
复制相似问题