为什么我的代码显示NSLog但不更改标签文本? 我正在尝试显示appDelegate.times但它不起作用。
-(void)Dothis
{
//retain
appDelegate = [[[UIApplication sharedApplication] delegate] retain];
//display in label
differenceLabel.text = [[NSString alloc] initWithFormat:@"%.3f", appDelegate.times];
//display in console
NSLog(@"Computed time wasrggsdfgd: %@", appDelegate.times);
}
答案 0 :(得分:1)
你需要这样做:
[differenceLabel setText:[NSString stringWithFormat:@"%@", appDelegate.times]];
你真的不需要自己实例化一个新的NSString对象......而且你忘了释放你的NSString对象......
根据您的日志,似乎“appDelegate.times”实际上不是浮点数(%f ...)
答案 1 :(得分:0)
这应该可以解决问题:
这是我设置标签文本的函数,它看起来像这样
-(void)seeValue { appdelegate = (stackoverflowQueriesAppDelegate*)[[UIApplication sharedApplication]delegate]; lbl.text = [NSString stringWithFormat:@"%.f",appdelegate.f]; }
我将浮点值指定为我的标签lbl的文本,这里是我的appdelegate文件中存在的代码视图
@interface stackoverflowQueriesAppDelegate : NSObject { float f; } @property (nonatomic,assign) float f; @property (nonatomic, retain) IBOutlet UIWindow *window; @end
这是我的appdelegate.m文件的视图
@implementation stackoverflowQueriesAppDelegate @synthesize window=_window,f; - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { // Override point for customization after application launch. f= 225.32; myview *obj = [[myview alloc]init]; [self.window addSubview:obj.view]; [self.window makeKeyAndVisible]; return YES; }
希望这会有所帮助