這個工作沒有明顯的問題。這段代碼是否有一些內容?
數據對象
#import <Foundation/Foundation.h>
@interface CustomDataObject : NSObject
@property (strong, nonatomic) NSString *name;
@property (strong, nonatomic) NSDictionary *additionalProperties;
@end
#import "CustomDataObject.h"
@implementation CustomDataObject
- (id)init
{
self = [super init];
if (self)
{
self.name = @"FirstName LastName";
self.additionalProperties = @{@"amount" : @"1000",
@"state" : @"happy"};
}
return self;
}
@end
CATEGORY
#import "CustomDataObject.h"
@interface CustomDataObject (additionalProperties)
@property (assign, nonatomic, readonly) NSString *amount;
@property (assign, nonatomic, readonly) NSString *state;
@end
#import "CustomDataObject+additionalProperties.h"
@implementation CustomDataObject (additionalProperties)
-(NSString *)amount
{
return [self.additionalProperties objectForKey:@"amount"];
}
-(NSString *)state
{
return [self.additionalProperties objectForKey:@"state"];
}
@end
的ViewController和輸出
CustomDataObject *myObject = [[CustomDataObject alloc] init];
NSLog(@"%@", myObject.name);
NSLog(@"%@", myObject.amount);
NSLog(@"%@", myObject.state);
-----
2013-07-25 15:44:01.790 CatTest[30911:c07] FirstName LastName
2013-07-25 15:44:03.487 CatTest[30911:c07] 1000
2013-07-25 15:44:03.984 CatTest[30911:c07] happy
原因是類別增加了對象的重要性,但它不會覆蓋alloc,i。即沒有辦法爲新的房產分配更多的空間。 – Paul
即使它被顯式設置爲只讀,並且getter從基於鍵的現有數組獲取對象,並且該數組仍然在原始類中? 我不會合成任何東西..只聲明只讀屬性的接口和實現中的getter方法。 –
我試了一下,它的工作原理。我對此感到有些不安:(很明顯,雙方都是錯的,它是Xcode還是你? –