Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

How to get rid of “-Warc-performSelector-leaks” warning for Xcode12.5 with SEL IMP #1386

Open
angelaTen opened this issue Jun 2, 2021 · 0 comments

Comments

@angelaTen
Copy link

How to get rid of "-Warc-performSelector-leaks" warning with a argument based selector

Old code resulting in deprecation error with Xcode12.5

From the Magical Record repo.

#pragma clang diagnostic push
#pragma clang diagnostic ignored \
    "-Warc-performSelector-leaks"
        if (implementsShouldImport && !(BOOL)[self performSelector:shouldImportSelector withObject:relatedObjectData])
        {
            continue;
        }
#pragma clang diagnostic pop

Note: Ignoring the warning with #pragma clang diagnostic push isn't working.

Updated Logic

        if (implementsShouldImport) {
            IMP shouldImportImplementation = [self methodForSelector:shouldImportSelector];
            BOOL (*func)(id, shouldImportSelector, id) = (void *)shouldImportImplementation;
            if (!func(id, shouldImportSelector, relatedObjectData)) {
                continue;
            }
        }

Resulting in two errors:

  • Type specifier missing, defaults to 'int' for BOOL (*func)(id, shouldImportSelector, id) = (void *)shouldImportImplementation;
  • Unexpected type name 'id': expected expression for line if (!func(id, shouldImportSelector, relatedObjectData)) {

Adopting the answer here

How to get rid of "Warc-performSelector-leaks" warning.

Magical Record is unmaintained open source library that is resulting in error with Xcode12.5 compilation.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant