2012-04-20 49 views
-1

我试图让UILabel.text采用一个NSString自定义功能,但与错误被难住了。我仍然是iOS的新手,但我的直觉认为它与语法有关。提前错误与自定义函数

- (void)viewDidLoad 
{ 
    ... 

    //Creating scrollable view 
    CGRect scrollViewFrame = CGRectMake(0, 0, 320, 460); 
    UIScrollView *scrollView = [[UIScrollView alloc] initWithFrame:scrollViewFrame]; 
    [self.view addSubview:scrollView]; 

    CGSize scrollViewContentSize = CGSizeMake(320, 800); 
    [scrollView setContentSize:scrollViewContentSize]; 

    //Inserting Title 
    UILabel *title = [[UILabel alloc]init]; 
    [title setFrame:CGRectMake(0, 0, 300, 40)]; 
    title.backgroundColor = [UIColor clearColor]; 
    title.text = self.setQuestion;<-error 
    [scrollView addSubview:title]; 
    [title release]; 
} 
- (void) setQuestion{ 
    NSString *qn = [NSString stringWithFormat:@"What do you get with%@", 5]; 

} 

感谢名单...

+0

你到底想干什么?您不能将方法分配给NSString *。 – mydogisbox 2012-04-20 16:10:33

+1

问题是什么? – 2012-04-20 16:14:07

回答

2

title.text = [self setQuestion];

setQuestion不正确编码。应该是:

- (NSString*) setQuestion{ 
    return [NSString stringWithFormat:@"What do you get with %d", 5]; 
} 

而且不要忘了包括setQuestion原型在.h文件中。

(嗯,其实,格式字符串不正确编码了。应该是“你怎么对待%d得到”。)

+1

顺便说一句,这个方法实际上并没有设置任何东西,所以更好的名字就像'textForQuestion'。 – Chuck 2012-04-20 17:31:11

+0

原因是因为'问题'部分只是冰山的一角。我还必须提供这个问题的选择。所以我想我可以使用(NSString *)。它必须是NSArray ... – 2012-04-21 17:30:08

+0

@TeamStar - 那么你不能直接将结果赋给'text'属性,但必须以某种方式对数组进行索引,或者将这些值连接成单个字符串。 – 2012-04-22 00:26:00