यह आसान होना चाहिए की दी गई संख्या को दोहराते हुए NSString बनाएँ, लेकिन मैं एक कठिन समय सबसे आसान समाधान खोजने आ रही है।अन्य स्ट्रिंग बार
मैं एक NSString
कि खुद के साथ concatenated बार की दी गई संख्या एक और स्ट्रिंग के बराबर है की जरूरत है।
एक बेहतर स्पष्टीकरण के लिए, निम्न अजगर उदाहरण पर विचार करें:
>> original = "abc"
"abc"
>> times = 2
2
>> result = original * times
"abcabc"
किसी भी संकेत?
संपादित करें:
मैं, एक समाधान Mike McMaster's answer से मिलता-जुलता पोस्ट करने के लिए जा रहा था 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];
}
कोड फ़ाइल से reproduced:
Frameworks/OmniFoundation/OpenStepExtensions.subproj/NSString-OFExtensions.m
से OpenExtensions ढांचे पर
The Omni Group द्वारा।
+1। और यहां बताया गया है कि मैंने प्रश्न चिह्नों की एक अल्पविराम से अलग सूची बनाने के लिए इसका उपयोग कैसे किया (SQLite को खिलाने के लिए) - '[@" "स्ट्रिंगबीपैडिंग टोलेंथेंथ: [फ़ील्ड गिनती] * 2-1 साथ स्ट्रिंग: @" ?, "प्रारंभ एट इंडेक्स: 0] '। – noamtm