14466


OSXでは問題ないのですがiOS用にソフトを作るとえらーになります。

[code]

    import UIKit
    import Foundation
    import RealmSwift
    extension String : CollectionType {}
    
    class dic: Object {
        dynamic var ID = 0
        dynamic var yomi = ""
        dynamic var kaomoji = ""
        dynamic var date = NSDate(timeIntervalSince1970: 1)
    
        override static func primaryKey() -> String? {
            return "ID"
        }
    }
    
    class KeyboardViewController: UIInputViewController {
        var DBdir = NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true)
        var realmPath = (paths[0] as NSString).stringByAppendingPathComponent("Test.realm")
    
    ・・・
    
    }
    
[/code]

「paths」がエラーの原因のようです。

[code]

    Use of unresolved identfiler 'paths'
    
[/code]

OSXとの違いは

[code]

    import Cocoa
    
[/code]

なんですが、iOSでは「import Cocoa」自体がエラーになります。

解決法を教えていただけると助かります。

よろしくお願いいたします。

追記：  
これが答えなのかなぁ？

[code]

        let defaultPath = Realm.defaultPath
        let defaultParentPath = defaultPath.stringByDeletingLastPathComponent
    
        if let v0Path = bundlePath("Test.realm") {
            try! NSFileManager.defaultManager().removeItemAtPath(defaultPath)
            try! NSFileManager.defaultManager().copyItemAtPath(v0Path, toPath: defaultPath)
        }
    
[/code]


CC BY-SA 3.0
2015-08-16T05:16:22.000
14459
2015-08-16T12:30:07.870
2015-08-16T12:30:07.870
5519
10845
question
swift realm
Use of unresolved identfiler 'paths'というコンパイルエラー


まず、iOSにCocoaフレームワークは無いので、OS XでいうところのCocoaである`UIKit`か、OS
XにもiOSにもある基本的なアプリケーションを作るためのフレームワークである`Foundation`をインポートしましょう。

次の

[code]

    Use of unresolved identfiler 'paths'
    
[/code]

というエラーメッセージですが、書いてある通りで、`paths`という変数が突然使われていて、それ以前に定義されてないためです。

あと、クラスのインスタンス変数に処理を書くのも制限があるので、Computed Propertyにして、下記のようにすると良いと思います。

[code]

    class KeyboardViewController: UIInputViewController {
    
        var realmPath: String {
            let paths = NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true)
            let path = (paths[0] as NSString).stringByAppendingPathComponent("Test.realm")
            return path
        }
    
[/code]


CC BY-SA 3.0
2015-08-16T08:08:25.077
14466
2015-08-16T08:08:25.077
5519
14459
answer