0
我想知道是否可以在私有@property上使用@synthesize,以便get/set方法具有公共訪問權限。Objective-C public獲取私有屬性的集合方法
現在我的代碼看起來是這樣的
SomeClass.h
#import <Foundation/Foundation.h>
@interface SomeClass : NSObject
{
@private
int somePrivateVariable;
}
@end
SomeClass.m
#import "SomeClass.h"
@interface SomeClass()
@property int somePrivateVariable;
@end
@implementation
@synthesize somePrivateVariable;
@end
然後在外面的一些功能我希望能夠寫:
#import "SomeClass.h"
SomeClass *someClass = [[SomeClass alloc] init];
[someClass setSomePrivateVariable:1337]; // set the var
NSLog("value: %i", [someClass getSomePrivateVariable]); // get the var
我知道我可以在頭文件中創建自己的get/set方法,但是我會非常喜歡使用@synthesize。
公共接口不是財產。這是一個老式的伊娃,被標記爲私人。 –
爲什麼要讓它成爲公開的私密? –
我很好奇,如果有可能的話,但我想沒有多少指向它.. –