天天看點

修改私有成員(類成員)/隻讀成員的屬性

使用kvc的方式修改

例子:

   UIPageControl *pageControl = [[UIPageControlalloc]init];

        [pageControl setValue:[UIImageimageName:@"xxxx"]forKeyPath:@"_currentPageImage"];     //_currentPageImage為私有成員

        [pageControl setValue:[UIImageimageWithName:@"xxxxx"]forKeyPath:@"_pageImage"];     //_pageImage為私有成員

——————————-自定義TestObject檔案——————————

.h:

#import <Foundation/Foundation.h>

@interface TestObject : NSObject {

    NSString *name;

}

@property (nonatomic,readonly) NSString *sex;

@end

.m:

#import "TestObject.h"

@implementation TestObject

@end

使用:

    TestObject *obj = [TestObjectnew];

    [obj setValue:@"test sex"forKeyPath:@"sex"];

    [obj setValue:@"name"forKeyPath:@"name"];

    NSLog(@"sex:%@", obj.sex);

    NSLog(@"name: %@", obj valueForKeyPath:@"name");

輸出:

sex:test sex

name: name

繼續閱讀