Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/121.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 切换开关以关闭应用程序声音_Ios_Toggle - Fatal编程技术网

Ios 切换开关以关闭应用程序声音

Ios 切换开关以关闭应用程序声音,ios,toggle,Ios,Toggle,我的应用程序中有多个声音。我想在设置中设置一个切换开关来关闭这些声音。下面是执行声音的代码 - (void) soundEventDidHappen:(NSString*)eventName { //check dictionary of sounds.. if there is a corresponding sound for this event name, play it if ([[soundIDForEventString allKeys] containsObject:event

我的应用程序中有多个声音。我想在设置中设置一个切换开关来关闭这些声音。下面是执行声音的代码

- (void) soundEventDidHappen:(NSString*)eventName {
//check dictionary of sounds.. if there is a corresponding sound for this event name, play it

if ([[soundIDForEventString allKeys] containsObject:eventName]) {
    AudioServicesPlaySystemSound ([[soundIDForEventString objectForKey:eventName] intValue]);
}

您可以进行如下简单切换:

bool isToggled;

- (IBAction) toggleSound{
    if(isToggled){
        isToggled = NO; //sets isToggled to false if it's already true
    }
    else{
        isToggled = YES; //sets isToggled to true if it's already false
    }
}
然后你可以做:

- (void) soundEventDidHappen:(NSString*)eventName {
    //check dictionary of sounds.. if there is a corresponding sound for this event name, play     it
    if(isToggled){

        if ([[soundIDForEventString allKeys] containsObject:eventName]) {
        AudioServicesPlaySystemSound ([[soundIDForEventString objectForKey:eventName] intValue]);
        }
    }
}
如果
i切换
为真,则将播放声音。如果要保存布尔值以备将来使用,则可以使用
NSUserDefaults

[[NSUserDefaults standardUserDefaults] setBool:isToggled forKey:@"soundEnabled"];
[[NSUserDefaults standardUserDefaults] synchronize];

//use this to save
然后您可以使用它来获取值(很可能在
viewDidLoad
方法中的某个地方:

isToggled = [[NSUserDefaults standardUserDefaults] boolForKey:@"soundEnabled"];
[[NSUserDefaults standardUserDefaults] synchronize];

您的问题是什么。您没有问任何问题,只是发布了一些要求。问题是切换开关的if/else语句是什么?您是否阅读了有关使用设置包和
NSUserDefaults
的文档?您知道如何获取切换的值吗?是的,我知道如何获取切换的值e、 然后(通过更新你的问题)发布你到目前为止获得价值的代码。这将使提供帮助变得更容易。Jodomo,谢谢你的回答,它帮了我很大的忙。这方面的默认设置是什么?