address doesn't contain a section that points to a section in a object file

gxingmin 2013-04-27 11:11:17
int (*MobileInstallationBrowse)(NSDictionary *options, int (*callback)(NSDictionary *dict, id value), id value);

static int callback(NSDictionary *dict, id result)
{
NSArray *currentlist = [dict objectForKey:@"CurrentList"];
if (currentlist)
{
for (NSDictionary *appinfo in currentlist)
{
[(NSMutableArray*)result addObject:[appinfo copy]];
}
}
return 0;
}
-(IBAction)btnGetApp:(UIButton *)sender
{

NSMutableArray *result = [NSMutableArray new];
MobileInstallationBrowse([NSDictionary dictionaryWithObject:@"Any" forKey:@"ApplicationType"],&callback, result); //Any 代表所有程序,这里可以用 “System” “User”来区分系统和普通软件
}


为什么运行红色那行代码时提示:
error: address doesn't contain a section that points to a section in a object file
...全文
460 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
测试NULL 2013-04-28
  • 打赏
  • 举报
回复
晕,发错了,看红色那块代码 int (*MobileInstallationBrowse)(NSDictionary *options, int (*callback)(NSDictionary *dict, id value), id value); int MobileInstallationBrowseImplementation(NSDictionary *options, int (*callback)(NSDictionary *dict, id value), id value) { NSLog(@"MobileInstallationBrowseImplementation"); return 0; } static int callback(NSDictionary *dict, id result) { NSArray *currentlist = [dict objectForKey:@"CurrentList"]; if (currentlist) { for (NSDictionary *appinfo in currentlist) { [(NSMutableArray*)result addObject:[appinfo copy]]; } } return 0; } -(void)btnGetApp { NSMutableArray *result = [NSMutableArray new]; MobileInstallationBrowse = MobileInstallationBrowseImplementation; MobileInstallationBrowse([NSDictionary dictionaryWithObject:@"Any" forKey:@"ApplicationType"], callback, result); //Any 代表所有程序,这里可以用 “System” “User”来区分系统和普通软件 }
测试NULL 2013-04-28
  • 打赏
  • 举报
回复
int (*MobileInstallationBrowse)(NSDictionary *options, int (*callback)(NSDictionary *dict, id value), id value); <span style="color: #FF0000;">int MobileInstallationBrowseImplementation(NSDictionary *options, int (*callback)(NSDictionary *dict, id value), id value) { NSLog(@"MobileInstallationBrowseImplementation"); return 0; }</span> static int callback(NSDictionary *dict, id result) { NSArray *currentlist = [dict objectForKey:@"CurrentList"]; if (currentlist) { for (NSDictionary *appinfo in currentlist) { [(NSMutableArray*)result addObject:[appinfo copy]]; } } return 0; } -(void)btnGetApp { NSMutableArray *result = [NSMutableArray new]; MobileInstallationBrowse = MobileInstallationBrowseImplementation; MobileInstallationBrowse([NSDictionary dictionaryWithObject:@"Any" forKey:@"ApplicationType"], callback, result); //Any 代表所有程序,这里可以用 “System” “User”来区分系统和普通软件 }
测试NULL 2013-04-28
  • 打赏
  • 举报
回复
因为那个MobileInstallationBrowse只是一个函数指针,不能直接用,要指向一个实现了的函数 加上实现就OK了


int (*MobileInstallationBrowse)(NSDictionary *options, int (*callback)(NSDictionary *dict, id value), id value);

int MobileInstallationBrowseImplementation(NSDictionary *options, int (*callback)(NSDictionary *dict, id value), id value)
{
    NSLog(@"MobileInstallationBrowseImplementation");
    return 0;
}

static int callback(NSDictionary *dict, id result)
{
    NSArray *currentlist = [dict objectForKey:@"CurrentList"];
    if (currentlist)
    {
        for (NSDictionary *appinfo in currentlist)
        {
            [(NSMutableArray*)result addObject:[appinfo copy]];
        }
    }
    return 0;
}

-(void)btnGetApp
{
    NSMutableArray *result = [NSMutableArray new];
    MobileInstallationBrowse = MobileInstallationBrowseImplementation;
    
    MobileInstallationBrowse([NSDictionary dictionaryWithObject:@"Any" forKey:@"ApplicationType"], callback, result);  //Any 代表所有程序,这里可以用 “System” “User”来区分系统和普通软件
}

29,028

社区成员

发帖
与我相关
我的任务
社区描述
主要讨论与iOS相关的软件和技术
社区管理员
  • iOS
  • 大熊猫侯佩
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧