• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

ios - 按下按钮时出现 KLCPopup 错误

[复制链接]
菜鸟教程小白 发表于 2022-12-12 12:35:31 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

KLCPopup library 当我按下 KLCPopup 容器中包含的 View 按钮之一时,我总是(随机)出现以下错误之一:

  1. NSInvalidArgumentException',原因:'-[NSISLinearExpression sendPlus:]
  2. (大多数时候)bad_access_exc code=1

这是我在 « FindViewController » 中调用 KLCPopup 的代码

AddFeelingViewController *adf = [self.storyboard instantiateViewControllerWithIdentifier"AddFeelingView"];
adf.userTo = [_userFetch objectAtIndex:indexPath.row];
adf.controller = self;
adf.view.frame = CGRectMake(0.0, 0.0, 300.0, 250.0);

KLCPopup *popup = [KLCPopup popupWithContentView:[adf view] showType:KLCPopupShowTypeBounceIn dismissType:KLCPopupDismissTypeBounceOut maskType:KLCPopupMaskTypeDimmed dismissOnBackgroundTouch:YES dismissOnContentTouch:NO];

[popup show];

这里是我的 « AddFeelingViewController » 中的代码:

   - (void)viewDidLoad {

      super viewDidLoad];
      score = 0;

    if([_controller isKindOfClass:[FindViewController class]]){            
       _controller = (FindViewController*)_controller;     
    }else{
       _controller = (HomeViewController*)_controller;

    }

    - (IBAction)sendPlusid)sender { 
       score = 1;
    }
    - (IBAction)sendMinusid)sender {     
        score = -1;
    }
    - (IBAction)sendFeelingid)sender {

        if([_controller isKindOfClass:[FindViewController class]]){
             if(score !=0 ){
               [_controller addNewFriendship:_userTo andScore:score];
             }

        }else{
             //TODO
        }
     }

Storyboard 中的所有内容都链接得很好,只有在链接按钮时才会崩溃。

你有什么想法吗?



Best Answer-推荐答案


我遇到了与您的 n°2 完全相同的错误。 发生这种情况是因为一旦执行 FindViewController 中的代码,您的 AddFeelingViewController 就会自动释放。

您的 AddFeelingViewController 仅在当前范围内(在方法的主体中)声明,因此一旦方法完成执行,ARC 就会释放它。

要解决这个问题,只需将您的 AddFeelingViewController 声明为 FindViewController 的类变量。

FindViewController.m 中:

AddFeelingViewController *myAdfController;

@implementation FindViewController

-(void)displayMyAdf{
    myAdfController = [self.storyboard instantiateViewControllerWithIdentifier"AddFeelingView"];
    myAdfController.userTo = [_userFetch objectAtIndex:indexPath.row];
    myAdfController.controller = self;
    myAdfController.view.frame = CGRectMake(0.0, 0.0, 300.0, 250.0);

    KLCPopup *popup = [KLCPopup popupWithContentView:[myAdfController view] showType:KLCPopupShowTypeBounceIn dismissType:KLCPopupDismissTypeBounceOut maskType:KLCPopupMaskTypeDimmed dismissOnBackgroundTouch:YES dismissOnContentTouch:NO];

    [popup show];
}

关于ios - 按下按钮时出现 KLCPopup 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26841410/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap