الهدف- C / THEOS - هل من الممكن حفظ NSMallocBlock؟

0

عند ربط طريقة معينة يتم تمرير معلمة من خلال NSMallocBlock. أحتاج إلى حفظ هذه القيمة لاستخدامها لاحقًا عند استدعاء الطريقة من الكود الخاص بي. لقد حاولت حفظه إلى مستخدم افتراضي ، ولكن هذا يتسبب في تعطل البرنامج. هل هناك طريقة لحفظ الكائن أو إعادة إنشائه لاحقًا؟

1 إجابة

0

في الأصل ، لا يمكن استمرار الكتل.

@interface AwesomeClass : NSObject

@property (nonatomic, copy, nullability) returnType (^blockName)(parameterTypes);

@end

(بناء جملة عن طريق كيف أعلن كتلة في الهدف جيم؟ )

سيسمح لك هذا بالاحتفاظ بمرجع إلى الحظر الخاص بك في وقت لاحق في تنفيذ البرنامج. لاحظ أنه يجب عليك دائمًا استخدام copy حيث تتم تهيئة معظم الكتل على المكدس. تحدث أشياء غريبة إذا لم تفعل ذلك.

جانبا ، NSUserDefaults تم تصميمه لاستمرار كميات صغيرة من البيانات بين عمليات تنفيذ البرنامج. -[NSUserDefaults setObject:forKey:] يدعم فقط NSData ، NSString ، NSNumber ، NSDate ، NSArray أو NSDictionary . سيتعطل بشكل عام إذا حاولت ضبطه على أي نوع آخر من الكائنات. يمكن العثور على مزيد من التفاصيل هنا: setObject: forKey: - NSUserDefaults | وثائق Apple Developer .

:مؤلف

أسئلة ذات صلة

فوق
قائمة طعام