【问题标题】:Appending Strings附加字符串
【发布时间】:2011-12-27 06:32:58
【问题描述】:

我知道这对某人来说很容易。我需要组合对象来创建一个地址。我不知道该怎么做。我试过了……

    NSString *agcstr = [infoDictionary objectForKey:@"physstr"];
NSString *agccity = [infoDictionary objectForKey:@"physcity"];
NSString *agcstate = [infoDictionary objectForKey:@"physstate"];
NSString *agczip = [infoDictionary objectForKey:@"physzip"];

dvController.agcaddress = [agcstr stringByAppendingString:@"\n"     stringByAppendingString:agccity stringByAppendingString:@", " stringByAppendingString:agczip];

这是完全错误的,但我总是至少尝试一些事情:)

【问题讨论】:

  • 好吧,你的做法是绝对正确的,虽然它可能看起来很奇怪。

标签: objective-c cocoa-touch iphone-sdk-3.0


【解决方案1】:

试试stringWithFormat

dvController.agcaddress = [NSString stringWithFormat:@"%@, %@, %@, %@", agcstr, agccity, agcstate, agczip];

【讨论】:

    【解决方案2】:

    请尝试以下方法:

    NSString *agcstr = [infoDictionary objectForKey:@"physstr"];
    NSString *agccity = [infoDictionary objectForKey:@"physcity"];
    NSString *agcstate = [infoDictionary objectForKey:@"physstate"];
    NSString *agczip = [infoDictionary objectForKey:@"physzip"];
    
    dvController.agcaddress = [[[[agcstr stringByAppendingString:@"\n"] stringByAppendingString:agccity] stringByAppendingString:@", "] stringByAppendingString:agczip];
    

    或者,

    dvController.agcaddress = [NSString stringWithFormat:@"%@ \n %@, %@", agcstr, agccity, agczip];
    

    【讨论】:

    • 这是一个非常糟糕的主意。您正在创建并立即丢弃最后一行中的三个字符串对象,这很难阅读。 taskinoor 对stringWithFormat: 的建议要好得多。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-09-30
    • 2012-05-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多