聲明一個類別
#import <Foundation/Foundation.h>
@interface Foo : NSObject <NSCoding>
@property(copy, nonatomic)NSString *strVal;
@property int intVal;
@property float floatVal;
@end
在main函數裡
#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
既然是一個指向NSString
的指針,為什麼又可以賦值一個NSString
物件?
NSString的修飾是copy,表示複製時是又開闢的一塊內存,不是指標複製。
Objective-c裡所有類,實例化物件後的操作,都是指標操作。 @ 回傳了一個匿名物件指標。