Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/41.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/3.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
Iphone NSUserDefaults和解除分配实例存在问题_Iphone_Cocoa_Cocoa Touch_Nsuserdefaults - Fatal编程技术网

Iphone NSUserDefaults和解除分配实例存在问题

Iphone NSUserDefaults和解除分配实例存在问题,iphone,cocoa,cocoa-touch,nsuserdefaults,Iphone,Cocoa,Cocoa Touch,Nsuserdefaults,我对默认设置有问题。对于我的应用程序,我已经尽可能地遵循书中的步骤,但仍然遇到同样的问题 我得到一份工作 尝试加载设置时出错。这是我的代码,它在App Delegate类中 - (void)applicationDidFinishLaunching:(UIApplication *)application { recordingController = [[RecordingTableViewController alloc] initWithStyle:UITableViewSt

我对默认设置有问题。对于我的应用程序,我已经尽可能地遵循书中的步骤,但仍然遇到同样的问题

我得到一份工作

尝试加载设置时出错。这是我的代码,它在App Delegate类中

- (void)applicationDidFinishLaunching:(UIApplication *)application {
       recordingController = [[RecordingTableViewController alloc] initWithStyle:UITableViewStylePlain];
       [recordingController retain];
        // Add the tab bar controller's current view as a subview of the window
        [window addSubview:tabBarController.view];

        [self loadSettings];   
    }

    -(void)loadSettings
    {
       NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];

       NSNumber loop = [defaults objectForKey:@"loop_preference"];
       NSNumber play = [defaults objectForKey:@"play_me_preference"];
       NSNumber volume = [defaults objectForKey:@"volume_preference"];   
    }
正如您所看到的,我还没有尝试对这些值做任何处理,但是我在循环首选项中的行读取中得到了错误。如果我尝试读取NSString,我也会得到它

如有任何建议,将不胜感激

谢谢


Peter

由于NSNumber是一个对象,我觉得您可能想要:

   NSNumber *loop = [defaults objectForKey:@"loop_preference"];
   NSNumber *play = [defaults objectForKey:@"play_me_preference"];
   NSNumber *volume = [defaults objectForKey:@"volume_preference"];   

(在NSNumber之后和变量名之前加上星号*)虽然这似乎与错误消息没有直接关系,但这是代码中唯一明显的怪癖。

是iphone开发吗?一些人谁是肯定的,请标记它有iphone的东西!额外提示:我建议在委托类的
+(void)initialize
方法中加载设置。它甚至在
applicationdFinishLaunching
delegate方法启动之前就被调用,因此您的所有设置也可以在该方法中使用。
   NSNumber *loop = [defaults objectForKey:@"loop_preference"];
   NSNumber *play = [defaults objectForKey:@"play_me_preference"];
   NSNumber *volume = [defaults objectForKey:@"volume_preference"];