ios - 从 User * 分配给 NSArray * 的不兼容指针类型

标签 ios objective-c arrays return-value

我是 iOS 编程的初学者,我需要一些关于从函数返回数组的帮助。 我有我的应用程序的这种结构(如果它是正确的,我不知道):

https://www.dropbox.com/s/md4b2nrdf09wdny/Screenshot%202014-02-28%2018.11.30.png

User.h/.m是CoreData模型生成的文件,有4个属性。

LoginVC.h/.m 用于登录应用程序(授权)。

UserController 用于处理用户结构 - 保存用户、更新用户、获取所有用户等。

我需要的...我在 UserController.m 中有函数,函数如下所示:

-(NSArray *)getUsers{

    CoreDataHelper *cdh = [(AppDelegate *)[[UIApplication sharedApplication]delegate] cdh];

    NSFetchRequest *request = [NSFetchRequest fetchRequestWithEntityName:@"User"];

    NSArray *Users = [cdh.context executeFetchRequest:request error:nil];

    return Users;

}

该函数用于从用户表中获取所有用户并返回用户数组。

我想在 LoginVC.m 中调用这个函数,所以我将这段代码推送到函数 viewDidLoad 中:

UserController *userController = [[UserController alloc]init];

[userController getUsers];
NSArray *users = [[NSArray alloc]init];

users = [userController getUsers];

但是当我启动应用程序时出现错误或警告 - Incomaptible pointer types assigning to NSArray* from User* 我不知道为什么是真正的问题,因为函数 getAllUsers 返回 Array 而我分配给 Array。感谢您的帮助。

最佳答案

我在您发布的代码中没有看到任何 User *,但我认为编译器警告的唯一合乎逻辑的解释是 getUsers 中声明>UserController.h 作为 - (User *)getUsers 而不是 - (NSArray *)getUsers

关于ios - 从 User * 分配给 NSArray * 的不兼容指针类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22101846/

相关文章:

ios - 我如何从以编程方式创建的 UIImageView 继续

ios - iOS数组到字典或数组

objective-c - 与一个实体有多种关系而没有反向?

javascript - 如何存储和打印 document.getElementsByClassName 中的元素?

javascript - 提前退出 forEach 中的函数?

ios - 在 SwiftUI 中强制 RTL 或 LTR

iphone - 使用 mencoder、handbrake cli 或 ffmpeg 自动检测旋转并相应地旋转视频

objective-c - 如何改变这个程序的输入? (C语言)

iphone - 关于使用非原子和保留属性(property)

ruby - 在Ruby中,过滤一个对象中所有包含单词 "time"的方法的好方法是什么?