首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何避免一遍又一遍地重现对象?

如何避免一遍又一遍地重现对象?
EN

Stack Overflow用户
提问于 2014-04-18 20:27:23
回答 1查看 85关注 0票数 0

我正在创建一个应用程序,让音乐家练习他们乐器的指法。我有一个名为"Note“的类,用来创建新的音符,我有一个名为" scales”的类,它将音符组织成音阶,让它们被指代。然而,每当我想制造新的音阶时,我必须一遍又一遍地声明相同的音符。是否有一种方法可以创建一个函数来创建所有的注释以供无限使用?

创建新的Notes并指定名称和指法:

Note *Bb = [[Note alloc]init]; Bb.noteName = @"Bb"; [Bb setFingering:0 :button1 :button2 :button3 :button4];

创造新的规模:

代码语言:javascript
复制
Scale *Bb_major = [[Scale alloc]init];
[Bb_major makeScale:Bb :C :D :Eb :F :G :A];

makeScale声明:

-(void)makeScale:(NSObject*)note1 :(NSObject*)note2 :(NSObject*)note3 :(NSObject*)note4 :(NSObject*)note5 :(NSObject*)note6 :(NSObject*)note7;

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-04-18 20:43:42

在注中添加静态方法:

代码语言:javascript
复制
+ (Note *) noteBb
{
    static Note *Bb = nil;
    static dispatch_once_t onceToken = 0;
    dispatch_once(&onceToken, ^{
        Bb = [[Note alloc]init];
        Bb.noteName = @"Bb";
       [Bb setFingering:0 :button1 :button2 :button3 :button4];    
    });
    return Bb;
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23161780

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档