【问题标题】:Is there a more concise way to concatenate these strings in Cocoa?有没有更简洁的方法在 Cocoa 中连接这些字符串?
【发布时间】:2009-07-08 23:40:24
【问题描述】:
NSString *latitude = [[NSString alloc] initWithFormat:@"%g°", coordinate.latitude];
NSString *longitude = [[NSString alloc] initWithFormat:@"%g°", coordinate.longitude];
self.pointLabel.text = [latitude stringByAppendingString:@", "];
self.pointLabel.text = [self.pointLabel.text stringByAppendingString:longitude];

【问题讨论】:

  • NSString* latitude = [[NSNumber numberWithDouble:coordinate.latitude] stringValue]; // 这不会像你的那样泄漏。

标签: iphone objective-c cocoa-touch


【解决方案1】:
self.pointLabel.text = [NSString stringWithFormat:@"%gº, %gº", coordinate.latitude, coordinate.longitude];

【讨论】:

  • g后面的那个符号是什么?
  • @MarshallMoutenot option-0。这是阳性序数指标。使用 shift-cmd-8 可能会更好,这是实际的度数符号。
【解决方案2】:

是的。投票给我;)

self.pointLabel.text = [NSString stringWithFormat @"%g°, %g°", coordinate.latitude, coordinate.longitude];

【讨论】:

    【解决方案3】:

    是的。

    self.pointLabel.text = [NSString stringWithFormat @"%g°, %g°", coordinate.latitude, coordinate.longitude];
    

    【讨论】:

      【解决方案4】:

      除了其他三个所说的之外,您的代码还泄漏了两个对象。请查看memory management rules

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-09-18
        • 1970-01-01
        • 1970-01-01
        • 2019-11-07
        • 1970-01-01
        • 2014-03-13
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多