Php 在viewdidload Objective-C中写入UILabel
我想做的是从php脚本中获取一个数字。此数字确定必须添加到视图中的标签。php脚本非常简单,如下所示: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
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。例如,您可以使用计数器。我将更新答案