2011-08-04 24 views
6

Tôi có một bó thiết lập trong ứng dụng của tôi .. chứa root.plist bây giờ tôi đã là một màn hình, trong đó có một hộp kiểm .. trên nhấn hộp kiểm tôi muốn thay đổi các giá trị BOOL cho DefaultValue khóa của PSToggleSwitchSpecifier trong plist. Kể từ khi nó được thực hiện tại thời gian chạy .. câu hỏi của tôi là .. có thể tập tin được thay đổi trong thời gian chạy và nếu có .. đưa ra một ý tưởng làm thế nào để làm điều đó ??Tôi có thể sửa đổi Root.plist trong gói cài đặt động không?

đây là plist:

<plist version="1.0"> 
<dict> 
    <key>PreferenceSpecifiers</key> 
    <array> 
     <dict> 
      <key>DefaultValue</key> 
      <string></string> 
      <key>Key</key> 
      <string>Username</string> 
      <key>Title</key> 
      <string>Username</string> 
      <key>Type</key> 
      <string>PSTextFieldSpecifier</string> 
     </dict> 
     <dict> 
      <key>DefaultValue</key> 
      <string></string> 
      <key>IsSecure</key> 
      <true/> 
      <key>Key</key> 
      <string>Password</string> 
      <key>Title</key> 
      <string>Password</string> 
      <key>Type</key> 
      <string>PSTextFieldSpecifier</string> 
     </dict> 
     <dict> 
      <key>Type</key> 
      <string>PSToggleSwitchSpecifier</string> <-----toggleSwitch 
      <key>Title</key> 
      <string>Remember</string> 
      <key>Key</key> 
      <string>CheckBox</string> 
      <key>DefaultValue</key> <----- Default Value 
      <false/>     <---- want to change this value 
     </dict> 
    </array> 
    <key>Title</key> 
    <string>Settings</string> 
</dict> 
</plist> 

cảm ơn bạn trước ;)

+0

Có một bài đăng trên blog cho cùng một [tại đây] (http://iphonesdevsdk.blogspot.com/2011/04/plist.html). –

+0

điều này không dành cho root.plist tôi đoán – Zaraki

+0

Đúng vậy. Như Joshua đã gợi ý bạn không thể sửa đổi các tập tin từ gói ứng dụng. Tôi hy vọng liên kết trên sẽ giúp bạn. –

Trả lời

11

Bởi vì các thiết lập bó cư trú bên trong gói ứng dụng của bạn, bạn không thể thay đổi nó khi chạy, chỉ ở thời gian biên dịch.

Tuy nhiên, bạn có thể sử dụng NSUserDefaults để đặt giá trị khi chạy và ứng dụng cài đặt sẽ tự động phản ánh điều này. Nó sẽ được lưu ở nơi khác, mặc dù. Bạn chỉ có thể đọc nó giống như cách bạn thực hiện với gói cài đặt, cũng thông qua NSUserDefaults.

Lưu ý rằng bạn không nên đọc trực tiếp từ gói cài đặt vì điều này không có ý nghĩa. Bạn nên luôn tìm nạp và đặt giá trị mặc định của người dùng bằng cách sử dụng NSUserDefaults. Khi người dùng thực hiện thay đổi trong ứng dụng cài đặt, NSUserDefaults sẽ tự động phản ánh điều này. Chúng sẽ luôn được giữ đồng bộ.

+0

Bạn có thể vui lòng cho biết cách viết vào root.plist của gói cài đặt bằng NSUserDefaults không? Tôi có thể đọc tệp và tôi muốn cập nhật sửa đổi được thực hiện trong ứng dụng thành Root.plist trong nhóm Cài đặt. – Mithun

2

Bạn không thể sửa đổi file với các gói ứng dụng ..

Các vấn đề liên quan