nscoding

    2熱度

    1回答

    NSCoder上的decodeDouble返回一個非可選值,但我想確定一個值在編碼之前是否爲零。 這是我的情景: var optionalDouble: Double? = nil func encode(with aCoder: NSCoder) { if let optionalDouble { aCoder.encode(optionalDouble, forKey

    0熱度

    2回答

    我試圖使用Swift在Xcode 8.0中存儲和加載持久存儲中的對象。 我遵循Apple的Start Developing iOS Apps (Swift): Jump Right In教程,並且與星級的整數值有相同的問題。 這是「裁剪」我的班「費用」,以顯示其我遇到麻煩了「量」的變化版本: class Expense: NSObject, NSCoding { var amount:

    1熱度

    1回答

    我一直在研究各地interweb,特別是堆棧溢出,和我自己的引用我在家裏,但我一直無法弄清楚什麼是錯我的代碼。我花了大部分時間試圖解決這個問題,我希望這裏的某個人能幫助我指出正確的方向。 設置: 我有我建立在雨燕3.0的國際象棋程序,結構如下:BoardModel是保存所有關於遊戲的數據類,一塊是主板中的類模型,該模型在BoardModel中保存關於其自身的數據,Piece還具有用於.knight

    4熱度

    1回答

    我的自定義對象遵循NSCoding協議與下面的方法 required init(coder decoder: NSCoder) { super.init() createdDate = decoder.decodeObject(forKey: "created_date") as? Date userId = decoder.decodeInteger(forKey

    0熱度

    1回答

    我遇到了我們的應用程序中數據持久性方法的問題。它決定使用符合NSCoding的數據模型的NSUserDefaults,由於我們的應用程序的規模,我不同意這種模式。 我看到的問題是當數據模型改變時,任何試圖在反序列化結果中崩潰。該應用程序必須卸載並重新安裝才能重新序列化。 方案: 用戶安裝的應用程序 用戶做的東西。 開發人員決定應將某個屬性添加到其中一個序列化對象並推送更新。 用戶安裝更新。 應用會

    0熱度

    1回答

    嘗試將MKMapItem保存爲我的自定義類的一部分。 import UIKit import MapKit class Place: NSObject, NSCoding { var mapItem : MKMapItem! var type : Category! init(mapItem: MKMapItem, type: Category) { self.mapIt

    0熱度

    1回答

    我想在NSUserDefaults中保存我的MKPolyline和MKPolygon視圖。我有,我已經實現了一個模型: -(id)initWithCoder:(NSCoder *)aDecoder - (void)encodeWithCoder:(NSCoder *)aCoder 然而,每當我試圖編碼我MKPolyLine我得到一個錯誤: -[MKPolyline encodeWithCod

    1熱度

    1回答

    我有一個自定義類,我做了(swift-y)結構NSCodable。現在我想將其轉換爲CKRecord以使用CloudKit。儘管我在編碼結構時設置了「鍵值」對,但我瞭解該結構已轉換爲NSData,並且不能將其轉換爲字典(或其他鍵值對象)。所以我覺得這不是要走的路。 有沒有辦法直接進行此轉換?或者在兩者之間(例如將數據轉換爲[String:String] - 字典)?

    0熱度

    1回答

    我有一個符合NSCoding(並存檔到磁盤)的對象。這個對象的一個​​屬性(myMetrics)是一個NSDictionary。在該軟件的新版本中,我需要爲該字典添加一個鍵,但是在該應用的其餘部分使用主對象之前,我需要做這個鍵,因爲它是必需的鍵。 我的想法是做這樣的事情: -(id)initWithCoder:(NSCoder *)coder { if (self = [super i

    4熱度

    1回答

    我在編寫名爲Packet的對象時通過以下代碼並通過Multipeer連接發送到另一端。但是,每當它嘗試解碼編碼對象時,我都會收到以下錯誤。 class Packet : NSObject, NSCoding { var tmp1: Double = 0 var tmp2: Double = 0 struct PropertyKey { static le