Objective c 子类化未按预期工作的单例
我正在编写一个与API通信的类。我首先创建了一个SessionManager: 我编写了几个类来扩展SessionManager。API中的每个实体一个:RestaurantManager、StreetManager和AreaManager。但是,当我使用其中一个,然后使用另一个时,它仍然会使用第一个Objective c 子类化未按预期工作的单例,objective-c,afnetworking,nsobject,Objective C,Afnetworking,Nsobject,我正在编写一个与API通信的类。我首先创建了一个SessionManager: 我编写了几个类来扩展SessionManager。API中的每个实体一个:RestaurantManager、StreetManager和AreaManager。但是,当我使用其中一个,然后使用另一个时,它仍然会使用第一个 NSArray *restaurants = [[RestaurantManager sharedManager] getRestaurants]; // restaurants contain
NSArray *restaurants = [[RestaurantManager sharedManager] getRestaurants];
// restaurants contains all the restaurants
NSArray *streets = [[StreetsManager sharedManager] getStreets];
// streets still contains all the restaurants
有关如何解决此问题的任何想法?您应该在子类中重写+idsharedManager方法。否则,它们将转到相同的sharedManager方法,并与相同的静态SessionManager变量交互。只要不重写类方法,子类将始终使用相同的共享实例。
NSArray *restaurants = [[RestaurantManager sharedManager] getRestaurants];
// restaurants contains all the restaurants
NSArray *streets = [[StreetsManager sharedManager] getStreets];
// streets still contains all the restaurants