Php 在viewdidload Objective-C中写入UILabel

Php 在viewdidload Objective-C中写入UILabel,php,objective-c,Php,Objective C,我想做的是从php脚本中获取一个数字。此数字确定必须添加到视图中的标签。php脚本非常简单,如下所示: <?php echo (int)5; ?> objc脚本必须确定数量,并且需要编写php脚本所描述的尽可能多的标签。我在另一个标签中显示该字符串,以确保返回该数字。如何将这些标签写入视图 我得到了如下代码: - (void)viewDidLoad { NSString *post = @""; NSData *postData = [post dataUs

我想做的是从php脚本中获取一个数字。此数字确定必须添加到视图中的标签。php脚本非常简单,如下所示:

<?php

echo (int)5;

?>

objc脚本必须确定数量,并且需要编写php脚本所描述的尽可能多的标签。我在另一个标签中显示该字符串,以确保返回该数字。如何将这些标签写入视图

我得到了如下代码:

- (void)viewDidLoad
{
    NSString *post = @"";
    NSData *postData = [post dataUsingEncoding:NSISOLatin1StringEncoding allowLossyConversion:NO];
    NSMutableURLRequest *urlRequest = [[[NSMutableURLRequest alloc] init] autorelease];
    [urlRequest setURL:[NSURL URLWithString:@"http://......./testGet.php"]];
    [urlRequest setHTTPMethod:@"POST"]; 
    [urlRequest setHTTPBody:postData];


    NSData *urlData; 
    NSURLResponse *response; 
    NSError *error;
    urlData = [NSURLConnection sendSynchronousRequest:urlRequest returningResponse:&response error:&error]; 
    if(!urlData) {
        NSLog(@"No connection!");
    }

    NSString *aStr = [[[NSString alloc] initWithData:urlData encoding:NSUTF8StringEncoding]autorelease]; 


    int i;
    i = [aStr intValue];
    status.text = [NSString stringWithFormat:@"%d",i];

    for (int i; i <= 10; i++)
    {

        UILabel *mijnlabel = [[UILabel alloc] initWithFrame:CGRectMake(50, 100, 200, 100)];

        mijnlabel.text = @"Loremipsum";
        [self.view addSubview:mijnlabel];
    }

    [super viewDidLoad];
}
-(void)viewDidLoad
{
NSString*post=@;
NSData*postData=[发布数据使用编码:NSISOLATIN1STRINGCODING ALLOSSYCONVERSION:否];
NSMutableURLRequest*urlRequest=[[[NSMutableURLRequest alloc]init]autorelease];
[urlRequest setURL:[NSURL URLWithString:@”http://......./testGet.php"]];
[urlRequestSetHttpMethod:@“POST”];
[UrlRequestSetHttpBody:postData];
NSData*urlData;
NSURLResponse*响应;
n错误*错误;
urlData=[NSURLConnection sendSynchronousRequest:urlRequest returningResponse:&响应错误:&错误];
如果(!urlData){
NSLog(@“无连接!”);
}
NSString*aStr=[[NSString alloc]initWithData:urlData编码:NSUTF8StringEncoding]autorelease];
int i;
i=[aStr intValue];
status.text=[NSString stringWithFormat:@“%d”,i];

对于(int i;i,虽然您的标签将全部显示在同一位置,但通过向视图发送
[self.view addSubview:mijnlabel];
是正确的

你必须注意以下几件事:

  • 正确设置循环的方式是将另一个变量(而不是从字符串中解析的值)用作计数器
  • 不要忘记在将
    ui标签添加到视图中后释放您刚刚初始化的
    ui标签
  • 首先将
    viewDidLoad
    发送到超级视图
  • 因此,您的结果可能是:

    // first
    [super viewDidLoad];
    
    ...
    
    NSString *aStr = [[[NSString alloc]
                       initWithData:urlData
                           encoding:NSUTF8StringEncoding]autorelease]; 
    int labelsCount = [aStr intValue];
    status.text = [NSString stringWithFormat:@"%d",labelsCounts];
    // another way, in order to display the label under each other
    // this will display labelsCount labels
    int i;
    for(i = 0; i < labelsCount; i++) {
        CGFloat yCoord = i * 100;
        UILabel *mijnlabel = [[UILabel alloc]
                              initWithFrame:CGRectMake(50, yCoord, 200, 100)];
        mijnlabel.text = @"Loremipsum";
        [self.view addSubview:mijnlabel];
        [mijnLabel release];
    }
    
    //首先
    [超级视图下载];
    ...
    NSString*aStr=[[NSString alloc]
    initWithData:urlData
    编码:NSUTF8StringEncoding]自动释放];
    int labelsCount=[aStr intValue];
    status.text=[NSString stringWithFormat:@“%d”,LabelCounts];
    //另一种方式是,为了显示彼此下方的标签
    //这将显示LabelCount标签
    int i;
    对于(i=0;i
    你发布的代码有什么问题吗?我到目前为止没有任何问题。但是我对objective-c相当陌生,不知道如何从php脚本返回值并在循环中使用它。我如何显示彼此下面的所有标签?初始值设定项使用
    CGRect
    来定义
    UIL的框架abel
    s。在这里,您将在(50100)处创建标签,宽度=200,高度=100。例如,您可以使用计数器。我将更新答案