gpt4 book ai didi

iphone - 从另一个类调用时对象为零

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:59:35 26 4
gpt4 key购买 nike

我想在另一个类中调用方法时更改另一个对象的属性。

更改此对象属性的代码位于第一个类的方法中,并且在从它自己的类调用它时有效,但是当从其他类调用时,方法中的对象返回 nil。

代码如下:

ViewController.h

@interface ViewController : UIViewController {

UIView *menuView; //the object

}

@property (nonatomic, retain) IBOutlet UIView *menuView;

-(void)closeMenu; //the method

@end

ViewController.m

@implementation ViewController

@synthesize menuView;

-(void)closeMenu{

[menuView setFrame:CGRectMake(menuView.frame.origin.x, -menuView.frame.size.height, menuView.frame.size.width, menuView.frame.size.height)];

NSLog(@"%f", menuView.frame.size.height); //returns height when method is called from it's own class. But returns 0 (nil) when called from the other class.

}

SDNestedTableViewController.h(没什么太重要,但可能有帮助?)

@interface SDMenuViewController : SDNestedTableViewController{


}

SDNestedTableViewController.m

#import "SDMenuViewController.h"
#import "ViewController.h"

- (void) item:(SDGroupCell *)item subItemDidChange:(SDSelectableCell *)subItem
{

ViewController *firstViewController = [[[ViewController alloc] init] autorelease];

SelectableCellState state = subItem.selectableCellState;
NSIndexPath *indexPath = [item.subTable indexPathForCell:subItem];
switch (state) {
case Checked:
NSLog(@"Changed Sub Item at indexPath:%@ to state \"Checked\"", indexPath);


[firstViewController closeMenu]; //called from other class


break;
case Unchecked:
NSLog(@"Changed Sub Item at indexPath:%@ to state \"Unchecked\"", indexPath);
break;
default:
break;
}
}

最佳答案

您发布的内容看起来像:

-(void)closeMenu{
// menuView is never initialized, == nil
[nil setFrame:CGRectMake(0, -0, 0, 0)];

NSLog(@"%f", 0); //returns height when method is called from it's own class. But returns 0 (nil) when called from the other class.

}

所以你在做 NSLog(@"%f", 0);

如果您通过访问 view 属性加载 View ,则 menuView 将由 IB 规则初始化。有关 viewController View 加载/卸载的详细信息,请参阅 reference docs .

关于iphone - 从另一个类调用时对象为零,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13021825/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com