2014-02-05 4 views
2

Я разрабатываю приложение iOS. Мой использованный шаблон дизайна Singleton и Delegation. Я сделал нулевой объект делегата в методе dealloc. Если пользователь повторно открыл этот экран и настроил делегирование объекта. Но я вижу, что объект делегирования всегда равен нулю. Как я могу повторно присвоить себе делегировать объектделегат iOS и шаблон Singleton

+3

Это невозможно диагностировать из описания. Пожалуйста, разместите код. – dasblinkenlight

+0

Где вы переназначаете своего делегата самостоятельно? –

+0

На самом деле мой объект делегирования проблемы не назначается? Я хочу назначить делегировать объект – hiwordls

ответ

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 
Смежные вопросы