分享

多语言资源文件加载的一种解决方案

 求知665 2014-10-07
[cpp]
// 
//  ResManager.m 
// 
//  Created by 周海锋 on 12-4-16. 
//  Copyright (c) 2012年 CJLU. All rights reserved. 
// 
 
#import "ResManager.h" 
 
@implementation ResManager 
@synthesize language; 
static ResManager * resManger = nil; 
 
+(ResManager *)ShareManager 

    @synchronized(self) { 
        if (resManger == nil) { 
           resManger = [[self alloc] init]; 
        } 
    } 
    return resManger; 

 
//唯一一次alloc单例,之后均返回nil 
+ (id)allocWithZone:(NSZone *)zone 

    @synchronized(self) { 
        if (resManger == nil) { 
            resManger = [super allocWithZone:zone]; 
            return resManger; 
        } 
    } 
    return nil; 

 
//copy返回单例本身 
- (id)copyWithZone:(NSZone *)zone 

    return self; 

 
-(id) init 

    if (self = [super init]) { 
        language = Chinese; 
    } 
    return self; 

 
-(UIImage *) LoadImage:(NSString *) name 

     
    switch (language) { 
        case Chinese: 
            name = [name stringByAppendingString:@"_c.png"]; 
            break; 
        case English: 
            name = [name stringByAppendingString:@"_e.png"]; 
            break; 
        case Tradition: 
            name = [name stringByAppendingString:@"_t.png"]; 
            break; 
        default: 
            break; 
    } 
    UIImage *image = [UIImage imageNamed:name]; 
    return image; 

 
@end 

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约