17.5.删除共享对象中的数据

17.5.1. 问题
我想要从磁盘上清除一个共享对象或者从一个共享对象中删除数据的一个指定位置。
17.5.2. 解决办法
使用clear()方法来清除一个共享对象。使用delete 关键字来移出一个共享对象的data 属性中的制定数据。
17.5.3. 讨论
你需要简单的呼叫一个SharedObject 的clear()方法来从你的文件系统中清除这个共享对象。
+展开
-ActionScript
// create an lso
private var lso : SharedObject = getLocal( "myLso" );
// create some sample data
private var sampleData : String = "data";
//assign some data to the lso
lso.data.sampleData = sampleData;
//flush to the file system
lso.flush();
//check the lso value
trace( lso.data.sampleData );
// delete the lso
lso.clear();
// should be "undefined"
trace( lso.data.sampleData );

使用delete 关键字来删除本地共享对象(lso)中的一个指定数据元素,但是注意,这个不能把共享对象从文件系统中清除。
+展开
-ActionScript
// delete sampleData
delete lso.data.sampleData;
// trace( lso.data.sampleData )

下面的例子移除共享对象数据并完全删除共享对象:
+展开
-XML
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxmllayout="absolute">
<mx:Script>
<![CDATA[
private var lso : SharedObject;
private function removeSharedObject() : void
{
var sampleData1 : String = "data1";
var sampleData2 : String = "data2";
//create an lso object and assign some data to it
lso = SharedObject.getLocal( "mylso" );
lso.data.someData1 = sampleData1;
lso.data.someData2 = sampleData2;
lso.flush();
status.text = "lso data after assignment" + "\ndata1: " + lso.data.someData1 + "\ndata2: " + lso.data.someData2;
// delete a piece of data from the lso
delete lso.data.someData1;
status.text += "\n\nlso after deleting lso.data.someData1" + "\ndata1: " + lso.data.someData1 + "\ndata2: " + lso.data.someData2;
// remove the lso completely from the filesystem
lso.clear();
status.text += "\n\nlso data after calling clear()" + "\ndata1: " + lso.data.someData1 + "\ndata2: " + lso.data.someData2;
}

]]>
</mx:Script>
<mx:VBox width="100%height="100%">
<mx:Button label="remove a shared objectclick="{ removeSharedObject() }" />
<mx:TextArea id="statuswidth="100%height="100%" />
</mx:VBox>
</mx:Application>

加支付宝好友偷能量挖...


评论(0)网络
阅读(111)喜欢(0)flash/flex/fcs/AIR