我有一个项目,两年前开始作为Obj-C,但最近有一些Swift 2.0的添加.现在这个比例大约是75%/ 25%,有利于Obj-C,但是向Swift增长.
与旧项目相同,对吧?这就是问题:自从XCode 7.3以来,我无法在Swift中正常运行代码.
我采取以下步骤:
一切都很好.但是一旦我完成了XCode项目的完整构建,问题就会出现问题,并且在我再次删除派生数据(手动或通过XCode)并重新索引所有文件之前,Swift不会完成代码.
Objective-C确实完成了,默认和手动创建的宏也仍然有效.这只是索引似乎打破了.
请问,有没有人听说过这种行为,并知道修复它?这是一个伟大的Swift培训,必须手动输入所有内容,但我的一些方法有多个块参数,写出来很麻烦.
如果它很重要,我在新的类中一直使用Swift 2.0 2.2语法.
我有一个使用iOS平铺缓存技术的iOS原型,如下所示(Objective-C代码):
RMTileCache * tileCache = [[RMTileCache alloc] initWithExpiryPeriod:0];
[tileCache setBackgroundCacheDelegate:self];
RMMapboxSource * tileSource = [[RMMapboxSource alloc] initWithMapID:mapID];
[tileCache beginBackgroundCacheForTileSource:tileSource southWest:southWest northEast:northEasth minZoom:minZoom maxZoom:maxZoom];
Run Code Online (Sandbox Code Playgroud)
这基本上做的是下载地图,永久缓存切片并使应用程序可以在将来脱机运行.由于我们正在通过官方付费API,这当然不会违反任何法律限制.
现在我想在Android上实现同样的目标.我有在Android Studio中运行的SDK和一个使用Map ID的远程地图的工作项目,基本上这是(Android Eclipse布局XML):
<com.mapbox.mapboxsdk.views.MapView
android:id="@+id/mapview"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
mapid=“my_map_id" />
Run Code Online (Sandbox Code Playgroud)
这工作正常,但一旦缓存完成,解决方案必须完全脱机.我的问题是:MapBox SDK中是否有上述iOS源代码的Java等价物?我试图查看API,但找不到对tile缓存系统的可靠引用.经过一些痛苦的时间试图让它运行基于方法名称和代码文档,我放弃了.
我正在运行MapBox的最新GitHub发行版以及最新的Android Studio,所有内容都运行良好,但无法找到完成此任务的代码.我不一定需要API参考,几行代码显示它是如何完成的.