13
यहां मेरे पास एक स्ट्रिंग को एन्कोड करने का एक तरीका है (यह अपूर्ण है), और आप पाएंगे कि मेरी समस्या एक त्रुटि है: "गैर-फ़ंक्शन प्रकार पर ब्लॉक पॉइंटर अमान्य है""गैर-फ़ंक्शन प्रकार के लिए ब्लॉक पॉइंटर अमान्य है"
+ (NSString *)encodeString: (NSString *)string {
__block int indexShift;
__block NSString *dictionary = @"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
__block NSString *encodeDictionary = @"mahgbcjdfukripylswxovzetqnFMAJWGCQYXLOETPBKSVNIZUHDR";
__block NSString *encodeString = @"";
void (^encode) = ^{ // Error here, "Block pointer to non-function type is invalid"
for (int x = 0; x < string.length; x++) {
int index = [dictionary indexOf:[string characterAtIndex:x]];
indexShift += index;
encodeString = [encodeString stringByAppendingFormat:@"%c", [encodeDictionary characterAtIndex:index+indexShift]];
}
};
return encodeString;
}
कृपया मुझे बताएं कि यह क्यों हो रहा है, या इसे ठीक करने के लिए मुझे क्या बदलने की आवश्यकता है।
हाँ ऐसा ही किया यह – Wrsford
कोष्ठकों के अंतिम सेट वैकल्पिक है:
तो आप देख रहे हैं। यदि ब्लॉक प्रकार में कोई तर्क नहीं होता है तो आप बस '^ {}' जा सकते हैं। –