首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >if语句和stringWithFormat

if语句和stringWithFormat
EN

Stack Overflow用户
提问于 2014-07-25 20:32:15
回答 3查看 75关注 0票数 2

我需要知道是否有一种方法可以使用if语句来显示特定的NSString,这取决于该NSString是否包含任何数据。

我有一个叫nsstringvisitorInfo

该字符串使用来自其他字符串的数据(即用户正在运行的操作系统)并显示该信息。下面是我要说的一个例子:

代码语言:javascript
复制
NSString *visitorInfo = [NSString stringWithFormat:@"INFO\n\nVisitor Location\n%@\n\nVisitor Blood Type\n\%@", _visitor.location, _visitor.bloodType];

它会像这样展示:

代码语言:javascript
复制
INFO

Location
Miami, FL

Blood Type
O positive 

然而,我有几个数据段,只有当用户选择这样做时才加载。他们的电子邮件地址。

下面这一部分代码可以做我想做的事情,但是我的visitorInfo字符串包含大量不同的字符串,如果我在下面使用这段代码,那么如果用户选择不提交他的血型,它就不会加载任何字符串。

代码语言:javascript
复制
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是有特定原因的,这就是为什么我不使用字典。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-07-25 20:44:30

只需根据需要使用NSMutableString构建字符串即可

代码语言:javascript
复制
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];
}
票数 2
EN

Stack Overflow用户

发布于 2014-07-25 20:43:04

可以使用以下方法检查字符串中是否包含任何数据

代码语言:javascript
复制
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是一个字符串。)

我希望这能帮到你

票数 1
EN

Stack Overflow用户

发布于 2014-07-26 02:35:57

试试这个-

代码语言:javascript
复制
    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];
    }
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24964029

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档