Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 5947073
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 22, 20262026-05-22T16:54:47+00:00 2026-05-22T16:54:47+00:00

Ok, so say i have a second thread running, but it wants to manipulate

  • 0

Ok, so say i have a second thread running, but it wants to manipulate something on the main thread, like a UI item.

-(void)backgroundThread
{
    [myButton performSelectorOnMainThread:@selector(setEnabled:) withObject:(BOOL)YES waitUntilDone:YES];
     // right here, how could i pass this BOOL to the function
}

I’ve tried using NSNumber‘s numberWithBOOL, but the NSButton doesn’t accept it.

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-22T16:54:48+00:00Added an answer on May 22, 2026 at 4:54 pm

    You cannot use performSelectorOnMainThread:withObject:waitUntilDone: with an argument that isn’t an Objective-C object, and you cannot use NSNumber because there’s no automatic unboxing from objects to primitive types.

    One solution is to implement a similar method that accepts a button as an argument and call that method instead.

    For example, in that same class:

    - (void)enableButton:(NSButton *)button {
        [button setEnabled:YES];
    }
    

    and

    -(void)backgroundThread{
        [self performSelectorOnMainThread:@selector(enableButton:)
                               withObject:myButton
                            waitUntilDone:YES];
    }
    

    Another solution is to implement a category on NSButton with an alternative method (e.g. -setEnabledWithNumber:), and use that method instead:

    @interface NSButton (MyButtonCategory)
    - (void)setEnabledWithNumber:(NSNumber *)enabled;
    @end
    
    @implementation NSButton (MyButtonCategory)
    - (void)setEnabledWithNumber:(NSNumber *)enabled {
        [self setEnabled:[enabled boolValue]];
    }
    @end
    

    and

    -(void)backgroundThread{
        [myButton performSelectorOnMainThread:@selector(setEnabledWithNumber:)
                                   withObject:[NSNumber numberWithBool:YES]
                                waitUntilDone:YES];
    }
    
    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

Let's say I have one thread running (I'm creating many instances of this thread),
So let's say I have this array: $requiredFruit= @(apple,pear,nectarine,grape) And I'm given a second
Say we have deep hashes like: b = {1 => {2 => {} },
Say i have a few fields like the following: abd738927 jaksm234234 hfk342 ndma0834 jon99322
I have a thread running in a service of an app that reads out
say i have a process which spawns 2 threads the first thread listens in
Lets say I have 100 servers each running a daemon - lets call it
I have a storyboard that runs forever with autoreverse for lets say 10 seconds.
Lets say have this immutable record type: public class Record { public Record(int x,
Say I have a select box eg <div data-bind='visible: someProp'> <select class=selectSubWidgets data-bind='options: subWidgets,optionsText:

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.