Question: It's really embarrassing but i stuck on it for two hours of trial and error.

I declared an NSString in the interface as:

```
NSString *testString;

```

Then i made a property and synthesized it. I allocate it in viewDidLoad with:

```
testString = [[NSString alloc] initWithFormat:@"thats my value: %i", row];

```

If i want to get the value of the string in another method it always return (null).
So the string is empty, but why? how do i make it accessible for every function inside of one class? So i don't want to make a global var just a "global variable inside the class"

It's really confusing because as long as i code i never ran into this problem :(

thanks a lot for helping me!

Answer: 
In your interface, declare the property:

```
@property (nonatomic, readwrite, retain) NSString *testString;

```

In the implementation, synthesize it:

```
@synthesize testString;

```

In the implementation, add a release to the `-dealloc` method:

```
[self.testString release];

```

In `-viewDidLoad`, access the property:

```
self.testString = [[[NSString alloc] initWithFormat:@"that's my value: %i", row] autorelease];

```
I personally use

```
self.testString = [NSString stringWithFormat:@"my value: %i",row];

```

That way you don't need to worry about releasing it.

Also make sure you always use "self".