菜鸟教程小白 发表于 2022-12-12 18:56:29

iphone - NSUserDefaults 在我检索之前刷新数据


                                            <p><p>我正在使用 NSUserDefaults 将 NSMutableArray 和 NSMutableDictionery 保存为 </p>

<pre><code>NSUserDefaults *nsdefaults = ;
    NSMutableDictionary *appDetail = [initWithDictionary:];

    if () {
      NSArray *stores = ;
      NSLog(@&#34;%@&#34;,stores);
      ;
    }

    NSString *colorString = ;

    ;

    NSString *lookBookURL = ;
    NSLog(@&#34;look_book%@&#34;,lookBookURL);

    ;

    ;//using same key to save in sandbox
    ;
    ;
</code></pre>

<p>并将此数据检索为</p>

<pre><code>shopsLocations = [ initWithArray:[
                                                   objectForKey:KStores]];
    NSLog(@&#34;shopsLocations: %@&#34;,shopsLocations);
</code></pre>

<p>它给了我“shopsLocations:(
)"表示 0 值。此外,当我尝试检索“appDetail”时,它也会给出零键和值。</p>

<p>我的问题是
1. 我可以在 NSUserDefaults 中保存数组和字典吗?
2. NSUserDefaults中的数据什么时候刷出来?
3. 如何从 NSUserDefaults 中获取数据?</p>

<p>提前致谢。</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>你的 <code>stores</code> 数组的内容是什么?</p>

<p>如果您想保存到 NSUserDefaults(使用 <code>setObject:forKey:</code>),则唯一允许的内容是可以转换为属性列表的对象。这些对象是 <code>NSArray</code>、<code>NSDictionary</code>、<code>NSString</code>、<code>NSData</code>、<code>NSDate</code> 和 <code>NSNumber</code>(int、float、bool)。</p>

<p>如果您想将其他内容保存到 <code>NSUserDefaults</code>,您必须先创建一个 NSData 对象。您可以在 <a href="http://developer.apple.com/library/ios/#documentation/Cocoa/Reference/Foundation/Classes/NSKeyedArchiver_Class/Reference/Reference.html" rel="noreferrer noopener nofollow"><code>NSKeyedArchiver</code></a> 的帮助下完成此操作.</p></p>
                                   
                                                <p style="font-size: 20px;">关于iphone - NSUserDefaults 在我检索之前刷新数据,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/8891624/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/8891624/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: iphone - NSUserDefaults 在我检索之前刷新数据