English 中文(简体)
• 如何在目标C的执行档案中把全球变量称为“全球变量”
原标题:How do you call a global variable within implementation files in Objective-C

Lets say I want a BOOL to indicate the status of something. Then I call a class method that uses a recursive function to construct a certain string. Is there anyway to keep this BOOL outside of the class method so that it s status can change outside of the recursion? I m finding a hard to ask this question clearly but I m hoping you guys know what I m trying to ask :/

最佳回答

有两个首要办法:


(1) 多个档案可查:

<>strong>MON GlobalBOOL.h

extern BOOL MONGlobalBOOL;

<>strong>MON GlobalBOOL.m

BOOL MONGlobalBOOL = NO;

2) 有一份档案可查:

<>strong>MON GlobalBOOL.m

static BOOL MONGlobalBOOL = NO;

你不会在你的头脑中希望这样做,因为这样做只会给每个翻译提供变数的复印件。


使用:

+ (void)method
{
  if (MONGlobalBOOL) {
    ...
  }
}

令人关心的全球反常数据常常使邪恶化为乌有。 你们有可能通过在僵局中形成一个地方变量来解决你的具体问题。

问题回答

就语言支持而言,在C项目标中可以做任何事情。 因此,你可能只想使用静态变量:

static BOOL globalFlag

当然,如果你只想提及休养方法中的变数,因为你想从更深入地重新采用这种方法向停靠的方法发出国旗,那么你可以参考:

- (void)someMethodWithRecursionFlag:(BOOL *)recursionFlag;

并在需要时参考:

*recursionFlag = YES;

and reading it when you re interested in it:

[self someMethodWithRecursionFlag:recursionFlag];
if (*recursionFlag)
    [self doSomethingInteresting];




相关问题
Asynchronous request to the server from background thread

I ve got the problem when I tried to do asynchronous requests to server from background thread. I ve never got results of those requests. Simple example which shows the problem: @protocol ...

objective-c: Calling a void function from another controller

i have a void, like -(void) doSomething in a specific controller. i can call it in this controller via [self doSomething], but i don t know how to call this void from another .m file. I want to call ...

ABPersonViewController Usage for displaying contact

Created a View based Project and added a contact to the AddressBook using ABAddressBookRef,ABRecordRef now i wanted to display the added contact ABPersonViewController is the method but how to use in ...

NSArray s, Primitive types and Boxing Oh My!

I m pretty new to the Objective-C world and I have a long history with .net/C# so naturally I m inclined to use my C# wits. Now here s the question: I feel really inclined to create some type of ...

NSUndoManager and runModalForWindow:

I have a simple Core Data app which displays a list of entities in the main window. To create or add new entities, I use a second modal window with a separate managed object context so changes can be ...

NSMutableArray values becoming "invalid"

I m trying to show a database information in a tableview and then the detailed information in a view my problem is as follow: I created a NSMutableArray: NSMutableArray *myArray = [[NSMutableArray ...

iPhone numberpad with decimal point

I am writing an iPhone application which requires the user to enter several values that may contain a decimal point (currency values, percentages etc.). The number of decimal places in the values ...

热门标签