Я разрабатываю приложение iOS. Мой использованный шаблон дизайна Singleton и Delegation. Я сделал нулевой объект делегата в методе dealloc. Если пользователь повторно открыл этот экран и настроил делегирование объекта. Но я вижу, что объект делегирования всегда равен нулю. Как я могу повторно присвоить себе делегировать объектделегат iOS и шаблон Singleton
2
A
ответ
0
Используйте это в вашем одноплодной методе класса
//Strict impelmentation of singleton with ARC.
//Object is created only once in the System.
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
if(myObject==nil){
myObject= [[myClass alloc]init];
}
});
return sharedEffcoreObject;
0
Вы должны задать вопрос более кратко. Вы можете найти информацию о большинстве шаблонов проектирования и о том, как их реализовать на ios here. Надеюсь, это поможет.
2
Поскольку ваш вопрос не детализирован, Я хотел бы дать вам предложение перепроверить свой код одноплодного первый и проверки будь не ваш делегат правильно установить вместе с вашей логикой в правильном направлении всегда.
Я знаю, что это слишком широкий и общий ответ. Однако это не может помочь.
Для справки, этот код Ниже Базовая структура Objective-C одноточечного под АРК. (Для быстрой версии, проверьте вышеуказанные ответы.)
YourSingleton.h
@interface YourSingleton : NSObject
+ (YourSingleton*)sharedInstance;
@end
YourSingleton.m
#import "YourSingleton.h"
@implementation YourSingleton
#pragma mark - singleton method
+ (YourSingleton*)sharedInstance
{
static dispatch_once_t predicate = 0;
__strong static id sharedObject = nil;
dispatch_once(&predicate, ^{
sharedObject = [[self alloc] init];
});
return sharedObject;
}
@end
Это невозможно диагностировать из описания. Пожалуйста, разместите код. – dasblinkenlight
Где вы переназначаете своего делегата самостоятельно? –
На самом деле мой объект делегирования проблемы не назначается? Я хочу назначить делегировать объект – hiwordls