gpt4 book ai didi

ios 错误终止 -[__NSArrayM setRoleHistorys :]:

转载 作者:行者123 更新时间:2023-11-29 03:07:27 26 4
gpt4 key购买 nike

我正在尝试创建从登录中获取数据的用户角色页面。我创建了自己的委托(delegate)函数来调用 web 服务,但应用程序因 [__NSArrayM setRoleHistorys:]: 无法识别的选择器发送到实例而崩溃。这是我的代码:在 .m 文件中:

- (void)parserDidStartDocument:(NSXMLParser *)parser
{
nodeContent = [[NSMutableString alloc]init];
}

- (void)parserDidEndDocument:(NSXMLParser *)parser
{
arrayitems = [[NSMutableArray alloc] init];
U serRoleDataParser *userroleParser = [[UserRoleDataParser alloc] init];
// UserRole *currentStudent = (UserRole *) arrayitems;
NSString *Username = username.text;
NSLog(@"the String value%@",Username);
[userroleParser getUserHistoryForIndex:0 LoginId:username.text];
NSLog(@"the String user value %@",username.text);
userroleParser.delegate = self;

}
- (void) didrecieveData : (NSArray *) userHistories forIndex :(int) index
{
arrayitems = [[NSMutableArray alloc] init];
UserRole *roles = (UserRole *) arrayitems;
roles.RoleHistorys = userHistories;
datadisplay.text = roles.role;
NSLog(@"the Success data%@", datadisplay.text);

}

在委托(delegate)文件.h中

 @interface UserRole : NSObject

@property (nonatomic,copy) NSString *username;
@property (nonatomic,copy) NSString *role;
@property (nonatomic,copy) NSString *empcode;

@property (nonatomic,copy)NSMutableArray * RoleHistorys;
@end

Dataparser.h 文件(委托(delegate))

#import <Foundation/Foundation.h>
#import "UserRole.h"

@protocol UserRoleDataParserDelegate <NSObject>

- (void) didrecieveData : (NSArray *) userHistories forIndex :(int) index ;

@end

@interface UserRoleDataParser : NSObject<NSXMLParserDelegate>
{
NSMutableData *xmlData;
NSXMLParser *userroleParser;
NSMutableString *capturedString;
BOOL captureCharacters;
NSMutableArray *userHistories;
}

- (void) getUserHistoryForIndex : (int) index LoginId :(NSString*) loginId;

@property (weak,nonatomic) id <UserRoleDataParserDelegate> delegate;
@property (nonatomic) int index;

@end

正在 nslog 中获取输出,但应用程序崩溃了。

最佳答案

此代码不正确:

arrayitems = [[NSMutableArray alloc] init];
UserRole *roles = (UserRole *) arrayitems;

您不能仅将数组转换为自定义类类型(除非您已子类化 NSMutableArray 并且该实例实际上属于子类类型)。在尝试使用它之前,您需要创建一个实例或找到所需的正确实例。

关于ios 错误终止 -[__NSArrayM setRoleHistorys :]:,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22609678/

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