我想創建一個名爲Note的對象。然後,我想爲它的字段指定一些值並將它們顯示在控制檯中,以驗證所有這些都可以正常工作。iOS創建對象
Note.h
#import <Foundation/Foundation.h>
@interface Note : NSObject
{
NSNumber *position;
NSString *syllable;
}
@property(nonatomic, retain)NSNumber *position;
@property(nonatomic, retain)NSString *syllable;
@end
Note.m
#import "Note.h"
@implementation Note
@dynamic position;
@dynamic syllable;
@end
在此之後,在另一個類中,我想分配一些值給字段。
-(void) configNote:(Note*)not
{
not = [Note alloc];
[not setPosition:[NSNumber numberWithInt:2]];
[not setSyllable:@"Twin-"];
}
.....
Note *note;
[self configNote:note];
NSLog(@" pos : %d syl : %@ ",[[note position] integerValue],[note syllable]);
我試圖用@synthesize
而不是@dynamic
,但仍然沒有改變。錯誤的原因是:-[Note setPosition:]: unrecognized selector sent to instance 0x733d060
基本上是正確的,雖然沒有必要重寫-init。接受屬性的默認值nil是很好的,除非問題域禁止這樣做。 – 2012-02-07 07:31:13