Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 如何将NSString的值设置为NSArray_Objective C_Nsstring_Nsarray - Fatal编程技术网

Objective c 如何将NSString的值设置为NSArray

Objective c 如何将NSString的值设置为NSArray,objective-c,nsstring,nsarray,Objective C,Nsstring,Nsarray,我想知道如何在NSArray中设置NSString的值 NSString *holdTheNumberToUpload; NSArray *resultFetch; self.resultFetch.count = holdTheNumberToUpload 我用这种方式: if (!self.resultFetch.count) { [self.defaults setObject: [NSString stringWithFormat:@"%lu", (unsigned lo

我想知道如何在NSArray中设置NSString的值

NSString *holdTheNumberToUpload;
NSArray *resultFetch;

self.resultFetch.count = holdTheNumberToUpload
我用这种方式:

if (!self.resultFetch.count) {


    [self.defaults setObject: [NSString stringWithFormat:@"%lu", (unsigned long)self.resultFetch.count] forKey:@"holdTheNumberToUpload"];
}

你在问题中使用的词语似乎与屏幕截图无关。屏幕截图中的代码的问题是表达式

[(unsigned long)self.resultFetch.count]
那应该是什么?如果它应该是一个数字,去掉方括号。如果它应该是一个数组,请将
@
放在它前面:

@[(unsigned long)self.resultFetch.count]
但这也不会编译,因为
(unsigned long)self.resultFetch.count
不是一个对象。因此,它不能是数组的元素,也不能是
setObject
的参数。无论哪种方式,您都需要将其包装在NSNumber中,这是一个对象。同样,您可以使用
@
执行此操作:

@self.resultFetch.count
或者,如果您确实坚持强制转换为
无符号long

@((unsigned long)self.resultFetch.count)
因此,根据你的代码到底是什么意思,你可能会得到这样的结果(你想要一个数字?):

或者类似(您想要一个包含数字的数组?):


您需要使用NSMutableArray而不是NSArray。它看起来是这样的:

NSString *holdTheNumberToUpload = @"Whatever";
NSMutableArray *resultFetch = [NSMutableArray array];
[resultFetch addObject:holdTheNumberToUpload];

另外,我不确定您如何使用
resultFetch.count
。此值是一个整数,因此如果(!resultFetch.count)检查
将永远不起作用,因为它始终是一个非负数。

您可以将一个对象添加到数组(结尾)或特定索引处的一个对象,但是您需要一个
NSMutableArray
。谢谢,您可以更具体一点吗?你有例子吗?请在我的第一条评论中点击
add
insert
。你的问题让人困惑
setObject:forKey:
NSMutableDictionary
相关,错误说明dictionary中的所有值都必须是对象(您必须从整数
@(self.resultFetch.count)
创建一个NSNumber对象)
@[@self.resultFetch.count]
NSString *holdTheNumberToUpload = @"Whatever";
NSMutableArray *resultFetch = [NSMutableArray array];
[resultFetch addObject:holdTheNumberToUpload];