0

現在、Sketch プラグインを作成しており、グローバル配列内にデータを保存しようとしています。copy.sketchscriptでデータが生成され、paste.sketchscript配列データを取得しようとしています。ただし、変数をログに記録すると、空が返されます。すべての関数がアクセスできるように、配列データを適切に更新するにはどうすればよいですか?

これが私のコードです。

ライブラリ/common.js

var verticalRulers = new Array; // global?

function copyVertical(context) {
    var doc = context.document

    var target = [[doc currentPage] currentArtboard] || [doc currentPage]
    var countVertical = [[target verticalRulerData] numberOfGuides]

    for(var i=0; i < countVertical; i++) {
        var thisRuler = [[target verticalRulerData] guideAtIndex:i]
        verticalRulers.push(thisRuler);
    }
}

function pasteVertical(context) {
    var doc = context.document
    var target = [[doc currentPage] currentArtboard] || [doc currentPage]

    for(i = 0; i < verticalRulers.length; i++) {
        var thisRuler = verticalRulers[i];

        [[target verticalRulerData] addGuideWithValue: thisRuler]
    }
}

copy.sketchscript

@import 'library/common.js'

function onRun(context) {
    verticalRulers = copyVertical(context);
    log(verticalRulers) // return right data from variable;
}

paste.sketchscript

@import 'library/common.js'

function onRun(context) {
    pasteVertical(context);
    log(verticalRulers); // returns an empty array
}
4

0 に答える 0