Мне было интересно, как получить доступ к «статическим» vars от модели из разных ViewControllers. Должен ли я идти на:Статические var, method или singleton?
- статических переменные (если да, то как?)
- статического метода
- одноэлементных + метод
- одноэлементных + переменные (пользовательские добытчиков)
#import "CategoryModel.h"
@implementation CategoryModel
-(NSArray*) allSelected {
return [[NSArray alloc] initWithArray:[[NSUserDefaults standardUserDefaults] objectForKey:SELECTEDCATEGORIES_DEFAULTSKEY]];
}
-(NSString*) allSelectedAsUrlParams {
NSMutableString *categoryList = [NSMutableString string];
for (NSArray *category in self.allSelected) {
[categoryList appendString:[category valueForKey:@"value"]];
if(![[self.allSelected lastObject] isEqual:category]) {
[categoryList appendString:@","];
}
}
return categoryList;
}
@end
* Edit (рабочая) *
// header
#import <Foundation/Foundation.h>
@interface CategoryModel : NSObject
+ (NSString*)allSelectedAsUrlParams;
@end
// implementation
#import "CategoryModel.h"
@implementation CategoryModel
+ (NSString*)allSelectedAsUrlParams {
return @"somethingGreat";
}
@end
// How to use
CategoryModel.allSelectedAsUrlParams
Я опубликовал рабочий код – fabian