gpt4 book ai didi

ios - 如何避免不得不一遍又一遍地重新创建对象?

转载 作者:行者123 更新时间:2023-11-28 22:09:55 25 4
gpt4 key购买 nike

我正在开发一款应用程序,让音乐家可以练习乐器的指法。我有一个名为“音符”的类,用于创建要使用的新音符,还有一个名为“音阶”的类,用于将音符组织成音阶,以便用手指弹奏。然而,每当我想制作一个新的音阶时,我都必须一遍又一遍地声明相同的音符。有没有办法创建一个函数来创建无限使用的所有笔记?

创建新音符并分配名称和指法:

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

创建新比例:

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;

谢谢。

最佳答案

在注释中添加静态方法:

+ (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;
}

关于ios - 如何避免不得不一遍又一遍地重新创建对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23161780/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com