関数内のインスタンス変数の値を変更できません。
クラスを定義しました:
// info.h
#import <Foundation/Foundation.h>
@interface NSMyObject : NSObject
{
NSInteger i;
}
-(void) setI:(NSInteger)v;
@end
#import "info.h"
@implementation NSMyObject
-(void) setI:(NSInteger)v ;
{
i=v;
}
- (void)dealloc {
[super dealloc];
}
@end
NSMyObjectインスタンスであるパラメーターtemObjを使用して関数'myFunction'を呼び出します。
myFunction(temObj);//temObj is NSMyObject
この関数では、パラメータのインスタンス変数の値を変更できますobj
。
-(void)myFunction:(NSMyObject*) obj;
{
[obj setI:0];
}
...これによりの内容が変更されることを期待していますtemObj
。
しかしobj
、関数内での操作の結果を確認するとmyFunction
、の値はtemObj.i
変更されていません。
コメントを歓迎します
ありがとう