我正在尝试通过删除可见区域外的所有注释来更新MKMapView,并在可见区域内添加和删除一些注释.这是我的代码:
NSSet *visibleAnnotations = [mapView annotationsInMapRect:[mapView visibleMapRect]];
NSSet *allAnnotations = [NSSet setWithArray:[mapView annotations]];
NSMutableSet *nonVisibleAnnotations = [NSMutableSet setWithSet:allAnnotations];
[nonVisibleAnnotations minusSet:visibleAnnotations];
[mapView removeAnnotations:(NSArray *)nonVisibleAnnotations];
NSMutableSet *newAnnotations = [NSMutableSet setWithArray:[_zoomLevels objectAtIndex:clusterLevel]];
[newAnnotations minusSet:visibleAnnotations];
[mapView addAnnotations:(NSArray *)newAnnotations];
Run Code Online (Sandbox Code Playgroud)
这给了我错误- [__ NSCFSet objectAtIndex:]:在我将newAnnotations转换为NSArray的最后一行之后发送到实例0x13cd40的无法识别的选择器然后添加注释.是否有关于将数组转换为集合导致此问题的内容?如果是这样,有没有办法围绕它?
我有一些代码,我需要向前声明一个模板类(或者至少,前向声明会让事情变得更容易......).我写了一个我正在解决的问题的简化版本,所以我可以在这里显示它:
template<bool>
class MyTemplateClass;
int main( int argc, char* argv[] )
{
MyTemplateClass<false> myTemp; // error here
myTemp.GetTheValue();
return 0;
}
template<bool bShouldMult>
class MyTemplateClass
{
int m_myint;
float m_myfloat;
public:
MyTemplateClass() : m_myint(5), m_myfloat(3.0f) {}
float GetTheValue()
{
return m_myint * (bShouldMult ? m_myfloat : 1.0f);
}
};
Run Code Online (Sandbox Code Playgroud)
我在注释行中得到的错误是:
Error - implicit instantiation of undefined template 'MyTemplateClass<false>'
Run Code Online (Sandbox Code Playgroud)
我需要在MyTemplateClass的前向声明中包含哪些其他细节?由于错误不是来自下一行,我假设它不是由于该方法未定义的事实.我正在使用的编译器是LLVM/CLang,我正在Mac上编译.
我有一些代码,最初是由MSVC工作人员给我的,我正试图让它在Clang上工作.这是我遇到麻烦的功能:
float vectorGetByIndex( __m128 V, unsigned int i )
{
assert( i <= 3 );
return V.m128_f32[i];
}
Run Code Online (Sandbox Code Playgroud)
我得到的错误如下:
Member reference has base type '__m128' is not a structure or union.
Run Code Online (Sandbox Code Playgroud)
我环顾四周,发现Clang(也许是GCC)在将__m128视为结构或联合时遇到了问题.但是我还没有找到一个直接的答案,我怎么能得到这些价值.我已经尝试过使用下标运算符而无法做到这一点,我已经浏览了大量的SSE内在函数列表并且尚未找到合适的函数.
我正在尝试开发一个简单的基于文本的刽子手游戏,并且主游戏循环以提示输入每个字母的猜测开始,然后继续检查字母是否在单词中并且如果它生命关闭不是.但是,当我运行游戏时,每次提示两次,程序不会等待用户的输入.它也会夺去生命(如果它是正确的输入就会有一个生命,如果没有,则为两个生命),所以无论它采取的是什么都与之前的输入不同.这是我的游戏循环,简化了一下:
while (!finished)
{
printf("Guess the word '%s'\n",covered);
scanf("%c", ¤tGuess);
i=0;
while (i<=wordLength)
{
if (i == wordLength)
{
--numLives;
printf("Number of lives: %i\n", numLives);
break;
} else if (currentGuess == secretWord[i]) {
covered[i] = secretWord[i];
secretWord[i] = '*';
break;
}
++i;
}
j=0;
while (j<=wordLength)
{
if (j == (wordLength)) {
finished = 1;
printf("Congratulations! You guessed the word!\n");
break;
} else {
if (covered[j] == '-') {
break;
}
}
++j;
if (numLives == 0) {
finished = …
Run Code Online (Sandbox Code Playgroud) 我有一个地图和一组注释,每个都有一个'父'属性.目前,当我添加注释时,我实现了didAddAnnotationViews方法来为这些注释设置动画,使它们看起来像是来自父级的坐标.在删除注释期间有没有办法做到这一点?当我从地图中删除注释时,我希望它为其父坐标设置动画,据我所知,当删除注释时,didAddAnnotationViews没有等效物.
我正在从一个继承自另一个类的类,但我收到一个编译错误,说"找不到符号构造函数Account()".基本上我要做的是创建一个类别的InvestmentAccount,它来自账户 - 账户是为了与取款/存款方法保持平衡,而InvestmentAccount类似,但余额存储在股票中,股票价格决定如何在给定特定金额的情况下,许多股票被存入或取出.这是子类InvestmentAccount的前几行(编译器指出问题的位置):
public class InvestmentAccount extends Account
{
protected int sharePrice;
protected int numShares;
private Person customer;
public InvestmentAccount(Person customer, int sharePrice)
{
this.customer = customer;
sharePrice = sharePrice;
}
// etc...
Run Code Online (Sandbox Code Playgroud)
Person类保存在另一个文件(Person.java)中.现在这里是超类帐户的前几行:
public class Account
{
private Person customer;
protected int balanceInPence;
public Account(Person customer)
{
this.customer = customer;
balanceInPence = 0;
}
// etc...
Run Code Online (Sandbox Code Playgroud)
有没有理由为什么编译器不只是从Account类中读取Account的符号构造函数?或者我是否需要在InvestmentAccount中为Account定义一个新的构造函数,它告诉它继承所有内容?
谢谢
我有一段时间的应用程序使用UIWebView
s在某些视图上显示YouTube视频.今天,在没有对代码进行任何更改的情况下,我的用户开始抱怨YouTube嵌入不起作用:嵌入静止帧和播放按钮显示正常,但点击播放按钮时嵌入屏幕变黑,没有任何加载,没有声音或视频.
以下是我用于生成嵌入代码的功能,该代码可以UIWebView
从YouTube ID中输入:
+ (NSString*)codeForYouTubeID:(NSString*)videoID width:(NSUInteger)width height:(NSUInteger)height
{
static NSString *fmt =
@"<iframe width='%d' height='%d' src='http://www.youtube.com/embed/%@?showinfo=0&modestbranding=1&rel=0&showsearch=0' frameborder='0' scrolling='0' allowfullscreen></iframe>";
return [NSString stringWithFormat:fmt, width, height, videoID];
}
Run Code Online (Sandbox Code Playgroud)
将生成的代码放入JSFiddle,嵌入显示并播放正常.我还使用了以下具有相同结果的替代格式字符串(来自此处的StackOverflow答案):
static NSString *fmt =
@"<object>\
<param name=\"movie\" value=\"http://www.youtube.com/v/%@\"></param>\
<embed src=\"http://www.youtube.com/v/%@\" type=\"application/x-shockwave-flash\"></embed>\
</object>";
Run Code Online (Sandbox Code Playgroud)
这具有相同的结果,但具有笨拙的自动大小嵌入.行为是相同的:用户可以单击播放按钮,然后嵌入框架变黑,没有其他任何事情发生.对我来说,这发生在我的测试手机(iPhone 4,iOS 7)和模拟器(iOS6和7)上.这在今天之前没有发生,并且没有代码被更改.最近有没有其他人经历过这个?
我有一个格式[(String,String)]的元组列表,我需要一个函数将列表的内容写入文本文件,然后另一个函数将该文本文件作为相同的元组列表读取.这是我的保存功能:
save :: Table -> IO()
save [] = writeFile "database.txt" ""
save zs = do { writeFile "database.txt" "" ; sequence_ [appendFile "database.txt" ("("++a++","++b++")\n") | (a,b) <- zs] }
Run Code Online (Sandbox Code Playgroud)
这是文本文件的好格式吗?那么我怎样才能读取该文本文件并将其转换回元组列表?
我正在尝试构建一个应用程序,可以使用存储在应用程序中的图像显示地图,具有Google地图的大部分功能,但使用此自定义图像而无需连接以获取地图图块.我正在寻找的主要方法是显示一个图像,用户可以在其中进行缩放,拖动以移动并单击叠加.我还将尝试根据纬度/经度坐标向地图添加叠加并显示用户的位置,但这不应该太难,因为我可以在地图上定义一个纬度/经度点并计算其中的所有其他点.有谁知道我可以用来显示这样的地图吗?
我正在尝试在我的设备上调试应用程序,我在使用调试器时遇到了一些麻烦.我尝试测试记录器,看它是否会像这样写入Logcat:
Log.d("MyActivity", "Testing logging...");
Run Code Online (Sandbox Code Playgroud)
但是在Logcat中没有任何东西显示app: com.myapp.debug
过滤器.它出现时我只是按字符串过滤(使用我的应用程序名称),但条目如下所示:
01-08 13:45:07.468 29748-29748/? D/MyActivity? Testing logging...
Run Code Online (Sandbox Code Playgroud)
这个问号是否意味着应用程序中的某些内容没有传递给调试器?这可能与我调试器的第二个问题有关:
我一直在调试崩溃,每次发生时,手机只会显示"应用程序没有响应"消息,然后关闭当前活动,断开调试器连接,应用程序继续运行上一个活动.没有堆栈跟踪,没有关于崩溃的信息,没有.我需要在Android Studio中设置一些东西以使其正常工作吗?