我試圖在 Xamarin 中迭代 NSArray,或者按如下方式按索引獲取專案:
try
{
NSData value = (NSData)NSUserDefaults.StandardUserDefaults["accounts"];
NSKeyedUnarchiver unarchiver = new NSKeyedUnarchiver(value);
NSArray valuesDictionary = (NSArray)NSKeyedUnarchiver.UnarchiveObject(value);
foreach (var x in valuesDictionary)
{
}
if (valuesDictionary != null)
{
var accountList = new List<Account>();
int numberOfOrgs = (int)valuesDictionary.Count;
for (int x = 0; x < numberOfOrgs; x )
{
var org = valuesDictionary[x];
}
}
然而,編譯器會為迭代和索引拋出錯誤。
foreach (var x in valuesDictionary)
{
}
“foreach 陳述句無法對‘NSArray’型別的變數進行操作的錯誤,因為‘NSArray’不包含‘GetEnumerator’的公共實體或擴展定義”
和
var org = valuesDictionary[x];
“無法將索引應用于 NSArray 型別”的錯誤。
誰能建議這是為什么?在 Objective CI 中,我認為我可以做這兩件事。
謝謝 !
uj5u.com熱心網友回復:
對于將來遇到此問題的任何人,雖然您無法在 NSArray 上建立索引,但您可以使用以下 Xamarin 方法:
GetItem<type>(index)
例如
myArray.GetItem<NSObject>(0).
奇跡般有效 :)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/371244.html
