簡體   English   中英

從用戶*分配給NSArray *的指針類型不兼容

[英]Incompatible pointer types assigning to NSArray * from User *

我是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;

}

該函數用於從表User中獲取所有用戶並返回用戶數組。

我想在LoginVC.m中調用此函數,因此我將此代碼推送到函數viewDidLoad:

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

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

users = [userController getUsers];

但是,當我啟動應用程序時,會出現錯誤或警告-從User *分配給NSArray *的指針類型不兼容,我不知道為什么是真正的問題,因為函數getAllUsers返回Array且我分配給Array。 謝謝你的幫助。

着色為您提供提示。

將您的變量Users重命名為以下users

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

我在您發布的代碼中沒有看到任何User * ,但是我認為對編譯器警告的唯一邏輯解釋是,在UserController.h中將getUsers聲明為- (User *)getUsers而不是- (NSArray *)getUsers

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM