Apple WebObjects 3.5 User Manual
Page 168

Chapter 10
The WebScript Language
168
The scope of an instance variable is object-wide. That means that any method
in the object can access any instance variable. You can’t directly access an
instance variable outside of the object that owns it; you must use an accessor
method instead. See “Accessor Methods” (page 171).
The lifetime of an instance variable is the same as the lifetime of the object.
When the object is created, all of its instance variables are created as well and
their values persist throughout the life of the object. Instance variables are not
freed until the object is freed.
As you learned in the chapter “Common Methods” (page 41), a WOApplication
is created when you started a WebObjects application, a WOSession is created
each time a different user accesses that application, and a WOComponent is
created the first time a user accesses that page in the application. Thus, the
variables you declare at the top of the application script (
Application.wos
) exist as
long as the application is running. The variables you declare at the top of the
session script (
Session.wos
) exist for the length of one session. As new users access
your application, new sessions are created, so new copies of the session’s
instance variables are created too. These copies of instance variables are private
to each session; one session does not know about the instance variables of
another session. As sessions expire, their instance variables are freed. Finally,
the variables you declare at the top of a component script are created and
released as that component is created and released.
Note:
Just how often a particular component object is created depends on whether
the application object is caching pages. For more information, see “WebObjects
Viewed Through Its Classes” (page 63).
Assigning Values to Variables
You assign values to variables using the following syntax:
myVar =
aValue
;
A value can be assigned to a variable at the time it is declared or after it is
declared. For example:
NSNumber *myVar1;
id myVar2 = 77;
myVar1 = 76;
The value you assign to a variable can be either a constant or another variable.
For example: