如何将 NSString 的值设置为 NSArray
How to set value of NSString into NSArray
我想知道如何将 NSString 的值设置为 NSArray
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
或者,如果你真的坚持强制转换为unsigned long
,
@((unsigned long)self.resultFetch.count)
因此,根据您的代码到底意味着什么,您最终可能会得到类似(您想要一个数字?)的结果:
@self.resultFetch.count
或类似的东西(你想要一个包含数字的数组?):
@[@self.resultFetch.count]
您需要使用 NSMutableArray 而不是 NSArray。它看起来像这样:
NSString *holdTheNumberToUpload = @"Whatever";
NSMutableArray *resultFetch = [NSMutableArray array];
[resultFetch addObject:holdTheNumberToUpload];
此外,我不确定您是如何使用 resultFetch.count
。这个值是一个 NSUInteger,所以你的检查 if (!resultFetch.count)
永远不会起作用,因为它永远是一个非负数。
我想知道如何将 NSString 的值设置为 NSArray
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
或者,如果你真的坚持强制转换为unsigned long
,
@((unsigned long)self.resultFetch.count)
因此,根据您的代码到底意味着什么,您最终可能会得到类似(您想要一个数字?)的结果:
@self.resultFetch.count
或类似的东西(你想要一个包含数字的数组?):
@[@self.resultFetch.count]
您需要使用 NSMutableArray 而不是 NSArray。它看起来像这样:
NSString *holdTheNumberToUpload = @"Whatever";
NSMutableArray *resultFetch = [NSMutableArray array];
[resultFetch addObject:holdTheNumberToUpload];
此外,我不确定您是如何使用 resultFetch.count
。这个值是一个 NSUInteger,所以你的检查 if (!resultFetch.count)
永远不会起作用,因为它永远是一个非负数。