Iphone 将多个变量设置为相同的值

Iphone 将多个变量设置为相同的值,iphone,objective-c,variables,Iphone,Objective C,Variables,我有几十个NSSTRIMG,当应用程序加载时,我希望所有NSSTRIMG都设置为同一组。都是。我怎么能不把每一个都打出来呢?有捷径吗 谢谢。您可以创建一个静态全局字符串并引用它,而不是几十个具有相同值的字符串吗?如果以后需要将其更改为单独的值,请使用初始化为全局字符串的实例变量。是否可以创建一个静态全局字符串并引用该字符串,而不是几十个具有相同值的字符串?如果您以后需要将其更改为单独的值,请使用初始化为全局字符串的实例变量。此外,问题是Josh对如何使用几十个字符串不够具体。。。我认为这样会更好

我有几十个NSSTRIMG,当应用程序加载时,我希望所有NSSTRIMG都设置为同一组。都是。我怎么能不把每一个都打出来呢?有捷径吗


谢谢。

您可以创建一个静态全局字符串并引用它,而不是几十个具有相同值的字符串吗?如果以后需要将其更改为单独的值,请使用初始化为全局字符串的实例变量。

是否可以创建一个静态全局字符串并引用该字符串,而不是几十个具有相同值的字符串?如果您以后需要将其更改为单独的值,请使用初始化为全局字符串的实例变量。

此外,问题是Josh对如何使用几十个字符串不够具体。。。我认为这样会更好:

NSMutableArray *stringsArray = [NSMutableArray arrayWithCapacity:1]; 
NSString *tempStr = @"My unique string";  // Thanks Sven!

// Say you want a dozen strings 
for (int i = 0; i < 12; i ++) {

    [stringsArray addObject:tempStr];
}

// Now you can use them by accessing the array
[self doSomethingWithString:[stringsArray objectAtIndex:8]];
NSMutableArray*stringsArray=[NSMutableArray阵列容量:1];
NSString*tempStr=@“我唯一的字符串”;//谢谢斯文!
//说你想要一打线
对于(int i=0;i<12;i++){
[stringsArray添加对象:tempStr];
}
//现在,您可以通过访问阵列来使用它们
[self-doSomethingWithString:[stringsArray对象索引:8]];

还有一个问题是,Josh对于如何使用他的几十个字符串还不够具体。。。我认为这样会更好:

NSMutableArray *stringsArray = [NSMutableArray arrayWithCapacity:1]; 
NSString *tempStr = @"My unique string";  // Thanks Sven!

// Say you want a dozen strings 
for (int i = 0; i < 12; i ++) {

    [stringsArray addObject:tempStr];
}

// Now you can use them by accessing the array
[self doSomethingWithString:[stringsArray objectAtIndex:8]];
NSMutableArray*stringsArray=[NSMutableArray阵列容量:1];
NSString*tempStr=@“我唯一的字符串”;//谢谢斯文!
//说你想要一打线
对于(int i=0;i<12;i++){
[stringsArray添加对象:tempStr];
}
//现在,您可以通过访问阵列来使用它们
[self-doSomethingWithString:[stringsArray对象索引:8]];

如果编译代码时已知该值,并且在后续应用程序会话后该值不会更改,则可以使用简单的#定义

现在你所要做的就是以下几点

{
    NSString *myString1 = MY_DEFAULT_STRING;
    NSString *myString2 = MY_DEFAULT_STRING;
    ....
    NSString *myStringN = MY_DEFAULT_STRING;
}
如果所有字符串都在同一个代码文件中,只需将define放在顶部。如果字符串位于单独的代码文件中,则可以将其放入预编译头中。拥有一个常量文件通常更好


使用常量extern NSString可能更正确,但这很简单,也很容易做到。

如果在编译代码时知道该值,并且在后续应用程序会话后该值不会更改,则可以使用简单的#定义

现在你所要做的就是以下几点

{
    NSString *myString1 = MY_DEFAULT_STRING;
    NSString *myString2 = MY_DEFAULT_STRING;
    ....
    NSString *myStringN = MY_DEFAULT_STRING;
}
如果所有字符串都在同一个代码文件中,只需将define放在顶部。如果字符串位于单独的代码文件中,则可以将其放入预编译头中。拥有一个常量文件通常更好


使用常量extern NSString可能更正确,但这很简单,也很容易做到。

听起来您的模型一点都不好。由于您希望将所有字符串初始化为相同的值,因此它们显然是相关的,可能应该像iPhoneDevProf所描述的那样建模为一个数组。这也使得其他事情变得更容易,您可以将对每个字符串重复的其他代码移动到一个循环中。

听起来您的模型一点也不好。由于您希望将所有字符串初始化为相同的值,因此它们显然是相关的,可能应该像iPhoneDevProf所描述的那样建模为一个数组。这也使其他事情变得更容易,您可以将每个字符串重复的其他代码移动到一个循环中。

您可以展开吗?是的,每一个值都会在某个时刻发生变化。你能展开一下吗?是的,每个值都会在某个时刻发生变化。这似乎是一个奇怪的要求。这不是通常要做的事情,所以不太可能有捷径。你为什么要这个?您试图完成什么?这些字符串在哪里分配或初始化?如果你把它们都放在一个NSArray中,那么你就可以在数组中循环进行初始化了。这似乎是一个奇怪的要求。这不是通常要做的事情,所以不太可能有捷径。你为什么要这个?您试图完成什么?这些字符串在哪里分配或初始化?如果将它们都放在一个NSArray中,则可以通过数组循环进行初始化。应该在循环外部初始化
tempStr
。应该在循环外部初始化
tempStr