1

NSManagedObject フィールドの更新に問題がありますが、素晴らしい RubyMotion に慣れていますが、私のプロジェクトはサンプルアプリLocationsに基づいています

location_store.rb のコードには、作成と削除があります...

def add_location
    # Yield a blank, newly created Location entity, then save the model.
    yield NSEntityDescription.insertNewObjectForEntityForName('Location', inManagedObjectContext:@context)
    save
end

def remove_location(location)
    # Delete the given entity, then save the model.
    @context.deleteObject(location)
    save
end

ただし、データストアを更新する同様の方法を実装する方法を見つけるのに苦労しています。新しい location_details_controller.rb で、場所のインスタンスを次のように保存しています。

def showDetailsForLocation(location)
    @location = location
    navigationItem.title = "%0.3f, %0.3f" % [location.latitude, location.longitude]
end

次に、保存ボタンが押されるとこれが起動します...

def saveLocation(sender)

    LocationsStore.shared.update_location(@objectid, "field1updatevalue", "field2updatevalue")
end 

しかし、これをクラックするためにさまざまな方法を試しましたが、この方法でレコードを更新する方法が見つかりません...

def update_location(location, f1, f2)
    location.f1 = f1
    location.f2 = f2
    save
end
4

2 に答える 2

0

私は自分で NSManagedObject をナビゲートしようとすることから抜け出し、ClarkWare によるラッパーのような基本的だが実行可能なアクティブレコードを使用しました

于 2012-07-05T13:08:32.330 に答える
0

update_location でコンテキストのオブジェクトを作成していないようです。コンテキストを保存する前に、そのコンテキストで新しいオブジェクトを生成するか、ストアで見つけてください。

更新する前にストアからオブジェクトを取得してから、コンテキストを保存してみてください。

于 2012-09-25T18:51:22.837 に答える