我正试图使用plist来保存一系列字典。除了尝试遍历数组中的每个元素之外,一切似乎都正常。在这种情况下,我使用NSArrays和NSDictionarys。
在下面的示例中,albumInfo是一个NSDictionary。键"Title"和字符串对象链接。我正在使用一个名为addAlbumInfo的方法,它的参数都是Strings,除了"price:"
请帮忙。

 var pathToAlbumsPlist:NSString = NSBundle.mainBundle().pathForResource("AlbumArray", ofType: "plist");
 var defaultAlbumPlist:NSArray = NSArray(contentsOfFile: pathToAlbumsPlist);

 for albumInfo:NSDictionary in defaultAlbumPlist {
     self.addAlbumWithTitle(
         albumInfo["title"],  //Says it is not convertable to a string
         artist: albumInfo["artist"],
         summary: albumInfo["summary"],
         price: albumInfo["price"].floatValue,
         locationInStore: albumInfo["locationInStore"]
     );
  }

最佳答案

由于albumInfo是NSDictionary,因此它只能包含任何对象,这意味着它不能包含Swift字符串(即struct)。如果addAlbumWithTitle需要一个字符串,而您试图向其传递AnyObject,则会出现此错误。您可以将albumInfo["title"]转换为这样的快速字符串:

albumInfo["title"] as String

关于ios - swift :遍历plist,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24727308/

10-11 17:18