我有兩個類A和B.使用其他類對象訪問對象(UIView)時出現問題!
類A包含一個UIView名爲MyView的,並且也是方法的MyMethod設置MyView的的位置。
-(void)MyMethod:(NSString *)justCheck
{
[self.view addSubview:myView];
[self.view bringSubviewToFront:myView];
CGRect mframe = [myView frame];
NSLog(@"------------> MyMethod Called = %@",justCheck);
// EDIT: the following NSLogs are added later--------------------
NSLog(@"------------> MyMethod Called:mframe:x = %g",mframe.origin.x); //0
NSLog(@"------------> MyMethod Called:mframe:y = %g",mframe.origin.y); //42
NSLog(@"------------> MyMethod Called:mframe:H = %g",mframe.size.height); //317
NSLog(@"------------> MyMethod Called:mframe:W = %g",mframe.size.width); //320
//---------------------------------------------------------------
mframe.origin.y = 42;
[myView setFrame:mframe];
}
當在名爲buttonOfA A類按鈕調用此的MyMethod,它完美的作品,我可以看到的MyView的位置42 代碼如下,
-(IBAction)buttonOfA:(id)sender
{
[self MyMethod:@"I am A"];
}
但是,當名爲buttonOfB B類的按鈕試圖調用該方法,工程的NSLog,但我看不出在如下位置42碼的MyView的,
-(IBAction)buttonOfB:(id)sender
{
[objOfA MyMethod:@"I am B"]; //objOfA is the object of class A
}
w ^帽子在這裏發生? 我一直在努力弄清楚這個問題,但是我做不到。 Plz幫助我。
感謝名單:)
編輯:4個NSLogs在myMethod的加入()
聽起來像objOfA是零。你如何設置它? – hwaxxer
@hwaxxer - 它像A * objOfA = [[A alloc] init];並注意,NSLog消息被打印到控制檯上------------> MyMethod Called = I是B.如果objOfA wal nil,是否可以打印? –
是的,你是對的。錯過了NSLog工作正常。或許在電話會議時這種觀點是無效的。 – hwaxxer