Điều này sẽ dễ dàng, nhưng tôi đang gặp khó khăn trong việc tìm ra giải pháp đơn giản nhất.Tạo NSString bằng cách lặp lại một chuỗi khác với số lần nhất định
Tôi cần số NSString
bằng một chuỗi khác được nối với chính nó một số lần nhất định.
Đối với một lời giải thích tốt hơn, xem xét ví dụ python sau:
>> original = "abc"
"abc"
>> times = 2
2
>> result = original * times
"abcabc"
Bất kỳ gợi ý?
EDIT:
tôi sẽ gửi một giải pháp tương tự cho từng người Mike McMaster's answer, sau khi xem xét thực hiện điều này từ OmniFrameworks:
// returns a string consisting of 'aLenght' spaces
+ (NSString *)spacesOfLength:(unsigned int)aLength;
{
static NSMutableString *spaces = nil;
static NSLock *spacesLock;
static unsigned int spacesLength;
if (!spaces) {
spaces = [@" " mutableCopy];
spacesLength = [spaces length];
spacesLock = [[NSLock alloc] init];
}
if (spacesLength < aLength) {
[spacesLock lock];
while (spacesLength < aLength) {
[spaces appendString:spaces];
spacesLength += spacesLength;
}
[spacesLock unlock];
}
return [spaces substringToIndex:aLength];
}
Mã sao chép từ file:
Frameworks/OmniFoundation/OpenStepExtensions.subproj/NSString-OFExtensions.m
trên khung OpenExtensions từ Omni Frameworks bởi The Omni Group.
+1 để thực hiện tất cả trong một cuộc gọi duy nhất tới thư viện chuẩn. Và đây là cách tôi sử dụng nó để tạo danh sách các dấu chấm hỏi được phân tách bằng dấu phẩy (cho ăn cho SQLite) - '[@" "stringByPaddingToLength: [số trường] * withString: 2-1" @? ", Bắt đầuAtIndex: 0] '. – noamtm