聲明一個(gè)類
#import <Foundation/Foundation.h>
@interface Foo : NSObject <NSCoding>
@property(copy, nonatomic)NSString *strVal;
@property int intVal;
@property float floatVal;
@end
在main函數(shù)里
#import <Foundation/Foundation.h>
#import "Foo.h"
int main (int argc, char *argv[])
{
@autoreleasepool {
Foo *myfoo1 = [[Foo alloc] init];
Foo *myfoo2;
myfoo1.strVal = @"This is the string";
}
return 0;
}
這里的strVal
既然是一個(gè)指向NSString
的指針,為什么又可以給它賦值一個(gè)NSString
對(duì)象?
NSString的修飾是copy,說明復(fù)制時(shí)是又開辟的一塊內(nèi)存,不是指針復(fù)制。
Objective-c里所有類,實(shí)例化對(duì)象后的操作,都是指針操作。@ 返回了一個(gè)匿名對(duì)象指針。