gpt4 book ai didi

iphone - 整数声明和数组计数指令的问题

转载 作者:行者123 更新时间:2023-11-28 18:41:20 25 4
gpt4 key购买 nike

我正在编写一个应用程序,其中我有一个以 JSON 格式从服务器接收的用户列表。后来,我从该 JSON 中提取了每个用户的数据,并创建了一个名为 UsersController 的对象,其中包含四个字段(我不知道这个词是否合适),分别称为 prod_id、userName、userThumb 和 createTime。在我的 ViewController 中,我有一个 UsersController 对象和一个用于存储所有用户的数组。类 UsersController 的代码是:

//UsersController.h
#import <UIKit/UIKit.h>

@interface UsersController : NSObject{
NSInteger *prof_id;
NSString *createTime;
NSString *fullName;
NSString *thumb;
}

@property (nonatomic) NSInteger *prof_id;
@property (nonatomic, retain) IBOutlet NSString *createTime;
@property (nonatomic, retain) IBOutlet NSString *fullName;
@property (nonatomic, retain) IBOutlet NSString *thumb;


@end

//UsersController.m
#import "UsersController.h"

@implementation UsersController

@synthesize prof_id;
@synthesize fullName;
@synthesize createTime;
@synthesize thumb;

@end

在 ViewController.m 中我有以下代码:

-(void)connectionDidFinishLoading:(NSURLConnection *)connection
{


NSAutoreleasePool *pool=[[NSAutoreleasePool alloc] init];

NSArray *array_webdata=[[NSArray array] init];

NSString *searchStatus = [[NSString alloc] initWithData:webData encoding:NSUTF8StringEncoding];

array_webdata = [parsedata objectWithString:searchStatus error:nil];

//String with all data of each user
NSString *usersList = [array_webdata valueForKey:@"results"];
NSLog(@"\n usersList =\n %@ \n", usersList);

//extract data from the JSON data received from the server
NSArray *userName = [usersList valueForKey:@"fullname"];
NSArray *userID = [usersList valueForKey:@"prof_id"];
NSArray *userThumb = [usersList valueForKey:@"thumb"];
NSArray *userCreateTime = [usersList valueForKey:@"createTime"];

NSMutableArray *arrayUsuarios = [[NSMutableArray alloc] initWithCapacity: [userID count]];
int i;
UsersController *usuarioSimple;
UsersController *usuarioAuxiliar;
for (int i=0; i<[userName count]; i++) {
usuarioSimple = [[UsersController alloc] init];
usuarioAuxiliar= [[UsersController alloc] init];

//I store in the object called usuario the extracted data from JSON userName, userID, userThumb y userCreateTime
usuarioSimple.prof_id = [userID objectAtIndex:i];
usuarioSimple.fullName = [userName objectAtIndex:i];
usuarioSimple.thumb = [userThumb objectAtIndex:i];
usuarioSimple.createTime = [userCreateTime objectAtIndex:i];

[arrayUsuarios addObject:usuarioSimple];

usuarioAuxiliar = [arrayUsuarios objectAtIndex:i];

NSLog(@"pruebaConsulta.prof_id[%@]: %@",i, usuarioAuxiliar.prof_id);
NSLog(@"pruebaConsulta.fullName[%@]: %@",i, usuarioAuxiliar.fullName);
NSLog(@"pruebaConsulta.thumb[%@]: %@",i, usuarioAuxiliar.thumb);
NSLog(@"pruebaConsulta.createTime[%@]: %@\n",i, usuarioAuxiliar.createTime);
[usuarioSimple release];
[usuarioAuxiliar release];

}

[searchStatus release];
[connection release];
[webData release];
[pool drain];

}

这里我有两个问题。第一个是在 bucle for 中使用的 i 的声明。我不知道为什么,但是当我执行时,当它必须显示 i 的值时,显示 (null)。

第二个问题是当我使用 [userID 计数]、[userName 计数]、[userThumb 计数] 或 [userCreateTime 计数] 时。该说明不起作用,因为如果我写下这一行:

NSLog(@"userid count: %@", [userID count]);

执行崩溃并显示 EXC_BAD_ACCESS。我证明了很多可能的解决方案但总是失败,请我需要你的帮助。谢谢。

ps:对不起我的英语!

最佳答案

您必须使用 %i%d 将整数包含在格式化字符串中。参见 String Format Specifiers .

关于iphone - 整数声明和数组计数指令的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10536029/

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