小编Ila*_*rio的帖子

NSGenericException reason Collection <NSConcreteMapTable:xxx>

这是我看到的错误SKScene,此错误随机发生,无法复制

*由于未捕获的异常'NSGenericException'而终止应用程序,原因:'* Collection <NSConcreteMapTable:0x1459da60>在枚举时发生了变异.

发生了什么?

告诉我你是否需要任何其他信息

谢谢

编辑:

*** First throw call stack:
(
    0   CoreFoundation                      0x025601e4 __exceptionPreprocess + 180
    1   libobjc.A.dylib                     0x022298e5 objc_exception_throw + 44
    2   CoreFoundation                      0x025efcf5 __NSFastEnumerationMutationHandler + 165
    3   Foundation                          0x01e47f03 -[NSConcreteMapTable countByEnumeratingWithState:objects:count:] + 66
    4   CoreFoundation                      0x0253d77f -[__NSFastEnumerationEnumerator nextObject] + 143
    5   SpriteKit                           0x01d009f2 +[SKTextureAtlas(Internal) findTextureNamed:] + 232
    6   SpriteKit                           0x01cf709c __26-[SKTexture loadImageData]_block_invoke + 1982
    7   SpriteKit                           0x01d34d09 _Z14SKSpinLockSyncPiU13block_pointerFvvE + 40
    8   SpriteKit                           0x01cf6898 -[SKTexture loadImageData] + 228
    9   SpriteKit                           0x01cf65d9 …
Run Code Online (Sandbox Code Playgroud)

objective-c ios sprite-kit

7
推荐指数
1
解决办法
1386
查看次数

AVPlayer和AVFoundationErrorDomain代码= -11819

我正在开发一个应用程序,其中使用来自云服务的歌曲通过AVPlayer播放音乐。一切正常,大多数文件正在播放,没有任何问题。

我最近从特定文件中获取了一个错误,并且消息来自AVPlayer,我不知道这是网络通信问题还是文件本身的编码:

错误域= AVFoundationErrorDomain代码= -11819“无法完成操作” UserInfo = 0x176abd80 {NSLocalizedRecoverySuggestion =稍后再试。,NSLocalizedDescription =无法完成操作}

浏览文档时,我发现代码11819意味着:

AVErrorMediaServicesWereReset -由于媒体服务不可用,操作无法完成。

有人曾经经历过吗?

objective-c avfoundation ios avplayer

5
推荐指数
1
解决办法
5498
查看次数

改进数组中的搜索

我是Android和Java的新手所以请你好:)

我的EditText应用程序中有一个用于搜索a中的特定字符串String[]

我的代码运行良好,但不是我想要的:

ArrayList<String> allProd = new ArrayList<String>;
ArrayList<String> allProd_sort = new ArrayList<String>;

allProd = [the table is brown, the cat is red, the dog is white];

String[] allProdString = allProd.toArray(new String[allProd.size()]);

...

 //inputSearch is the EditText
 inputSearch.addTextChangeListener (new TextWatcher() {

   ...

   @Override
   public void onTextChanged(CharSequence charSequence, int i, int i2, int i3) { 

     int textLength = inputSearch.getText().length();
     String text = inputSearch.getText().toString();

     for (int y = 0; y< allProdString.length; y++) {

        //in my case i want that …
Run Code Online (Sandbox Code Playgroud)

java android

5
推荐指数
1
解决办法
141
查看次数

将UIButton添加为UIWebView的子视图,并在缩放时调整其大小

我有.svg载入的世界地图的图像UIWebView.(我使用svg格式和UIWebView,因为图像太大而无法加载到UIImageView中)

我想在这张地图上放一堆固定位置的Pin.

例如,如果我在巴西放置一个引脚,无论我是否滚动或缩放,该引脚必须始终保留在巴西 UIWebView

你怎么能这样做?目前滚动不是问题,只有缩放

NSString *path = [[NSBundle mainBundle] pathForResource:@"map" ofType:@"svg"];

NSURL *url=[[NSURL alloc] initFileURLWithPath:path];
NSURLRequest *request=[[NSURLRequest alloc]initWithURL:url];
[_webView loadRequest:request];
_webView.scalesPageToFit = YES;
_webView.delegate = self;

UIButton *but = [[UIButton alloc] initWithFrame:CGRectMake(100, 400, 30, 30)];
[but setBackgroundColor:[UIColor blackColor]];
[_webView.scrollView addSubview:but];
Run Code Online (Sandbox Code Playgroud)

编辑 @dymv使用ScrollView的委托方法,我们可以改变按钮的大小,但有问题:

如何使用许多按钮重用此代码?

EDIT2:

我解决了相对于许多按钮的问题,但现在看来我不能把针固定在同一点上.

很明显,引脚的坐标会根据变焦而改变,但问题是视觉引脚移动太多到应该的位置.

例如,如果我把一个别针放在巴西海岸上,当我缩小时,别针越过海洋,并没有留在海岸上.这真的是一个问题,因为如此多的引脚,最终结果将非常糟糕

-(void)webViewDidFinishLoad:(UIWebView *)webView {

    CGPoint primo = CGPointMake(100, 100);       

    for (int i = 0; i<36; i++) {

        UIButton *bu = [[UIButton alloc] initWithFrame:CGRectMake(primo.x, primo.y, 10, 18)];
        [bu setBackgroundImage:[UIImage imageNamed:@"pin"] …
Run Code Online (Sandbox Code Playgroud)

objective-c uibutton uiwebview ios

5
推荐指数
1
解决办法
1195
查看次数

类com.google.android.gms.ads.AdView Android Studio出错时出错

我要疯了.

我正在尝试使用谷歌播放服务改变admob.但我坚持这个错误.

Caused by: android.view.InflateException: Binary XML file line #53: Error inflating class com.google.android.gms.ads.AdView
Run Code Online (Sandbox Code Playgroud)

我是这样的:

<com.google.android.gms.ads.AdView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="5dp"
    android:id="@+id/adViewPers"/>
Run Code Online (Sandbox Code Playgroud)

还有这个:

<meta-data android:name="com.google.android.gms.version"
               android:value="@integer/google_play_services_version"/>
<activity
        android:name="com.google.android.gms.ads.AdActivity"
        android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize" />
Run Code Online (Sandbox Code Playgroud)

主要活动

import com.google.android.gms.ads.AdRequest;
import com.google.android.gms.ads.AdSize;
import com.google.android.gms.ads.AdView;

...
private AdView adViewPers;

...

adViewPers = (AdView) findViewById(R.id.adViewPers);
adViewPers.setAdUnitId("xxxxxxx");
adViewPers.setAdSize(AdSize.SMART_BANNER);
AdRequest adRequest = new AdRequest.Builder().build();
adViewPers.loadAd(adRequest);
Run Code Online (Sandbox Code Playgroud)

和依赖:

在此输入图像描述

我做错了什么????

android admob google-play-services android-studio

5
推荐指数
1
解决办法
5313
查看次数

Android Studio 无法解析符号 GoogleAnalytics v4

我正在尝试将 Google Analytics 集成到我的 Android 应用程序中,但遇到了麻烦。(参见编辑)

创建时遵循https://developers.google.com/analytics/devguides/collection/android/v4/

HashMap<TrackerName, Tracker> mTrackers = new HashMap<TrackerName, Tracker>();
Run Code Online (Sandbox Code Playgroud)

Android Studio 告诉我无法解析符号Tracker

我已经在我的应用程序中使用 Google Play 服务来提供 admob,所以我不明白为什么我无法导入com.google.android.gms.analytics.Tracker

在 AndroidManifest.xml 我有

<meta-data android:name="com.google.android.gms.version"
           android:value="@integer/google_play_services_version"/>
Run Code Online (Sandbox Code Playgroud)

我缺少什么?

编辑
我也在关注:如何在 Android 应用程序中集成 Google Analyticshttp://java.dzone.com/articles/working-google-analytics-api

但我无法解决问题

好像缺少了一些东西,谷歌播放服务被集成,因为我用它进行应用内购买,但我不明白为什么Android studio不想识别谷歌分析。

为了清晰起见,添加照片: 在此输入图像描述

项目结构:

在此输入图像描述

编辑2

android:value在这个meta-data

<meta-data android:name="com.google.android.gms.version"
           android:value="@integer/google_play_services_version"/>
Run Code Online (Sandbox Code Playgroud)

@integer/google_play_services_version4132500 在哪里

我检查了 sdk,在 Extras 中没有需要进行的更新

android google-analytics google-play-services android-studio google-analytics-firebase

5
推荐指数
1
解决办法
1万
查看次数

如何在Android中用手指擦除图像

我正在开发一个需要对象功能的应用程序.

我有一个覆盖图像B的图像A.用手指我需要擦除图像A以显示图像B.擦除必须按照手指流动的图像A

我正在尝试一些代码但仍然无法擦除图像A.这是我用于在图像上绘制一条线的代码(_imageToErase是图像A):

Canvas canvas;
Paint paint;
float downx = 0, downy = 0, upx = 0, upy = 0;
ImageView _imageToErase;

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    setContentView(R.layout.g_layout);

    _imageToErase = (ImageView) findViewById(R.id.image_to_erase);

    _imageToErase.setOnTouchListener(this);
}

@Override
public void onWindowFocusChanged(boolean hasFocus){

    int width = _imageToErase.getWidth();
    int height = _imageToErase.getHeight();

    Bitmap bitmap = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);
    canvas = new Canvas(bitmap);
    paint = new Paint();
    paint.setColor(Color.WHITE);
    paint.setStrokeWidth(25);
    paint.setAntiAlias(true);
    _imageToErase.setImageBitmap(bitmap);
}

public boolean onTouch(View v, MotionEvent event) {
    int action = event.getAction();

    switch …
Run Code Online (Sandbox Code Playgroud)

java android canvas bitmap

5
推荐指数
1
解决办法
3262
查看次数

有效地比较两个大的对象数组并找出差异

我有两大类对象,如:

const array1 = [
    {
        userId: 83232932,
        name: 'Tom',
        profile_pic: 'http://..',
        age: 24,
        gender: 'F'
    },
    {
        userId: 2413535,
        name: 'Sam',
        profile_pic: 'http://..',
        age: 31,
        gender: 'M'
    }
]
Run Code Online (Sandbox Code Playgroud)

和另一个几乎相同的阵列.

这两个数组也可以有数千个对象,例如20k.

我必须比较它们并找到第一个数组中的对象而不是第二个数组中的对象

现在我在做:

const missing = array1.filter(function(item1) {
    return !array2.some(function(item2) {
        return item1.userId === item2.userId;
    });
});
Run Code Online (Sandbox Code Playgroud)

这可行,但它会阻止我的应用程序的UI几秒钟.

有没有更好的方法来过滤数组,还是应该检查如何以及何时进行此比较?

javascript arrays ecmascript-6

5
推荐指数
1
解决办法
127
查看次数

文件名中有空格的可绘制对象?

我正在开发一个应用程序,该应用程序具有更多图像(约 3000 个),文件名中有空格,例如:

我是一张图片.jpg

刚接触Android,现在才发现名称中有空格或大写字母的资源不接受,这是一个很大的问题!

我在 iOS 应用程序中使用了相同的图像(没有问题),现在几乎不可能更改所有名称。

有没有办法在不重命名图像的情况下解决这个问题?

如果没有,有没有办法快速重命名 3000 个图像?

非常感谢

android image drawable

2
推荐指数
1
解决办法
1066
查看次数

获取UIButton的标签和标签较小的标签

我不明白我想做的事情是否可能.

我在for循环中创建按钮:

CGRect rect2 = CGRectMake(50, 230, 40, 40);

for (int i = 0; i<5; i++) {

    NSString *stringI = [NSString stringWithFormat:@"%d",i+1];
    NSString *stringItouch = [NSString stringWithFormat:@"%dselected",i+1];

    UIButton *button = [[UIButton alloc] init];
    [button setBackgroundImage:[UIImage imageNamed:stringI] forState:UIControlStateNormal];
    [button setBackgroundImage:[UIImage imageNamed:stringItouch] forState:UIControlStateSelected];
    [button addTarget:self action:@selector(touchButton:) forControlEvents:UIControlEventTouchUpInside];
    button.tag = i+1;

    button.frame = rect2;
    rect2.origin.x = rect2.origin.x + 45;

    [scrollView addSubview:button];
}
Run Code Online (Sandbox Code Playgroud)

然后在方法中touchButton我得到触摸按钮的标签

-(void)touchButton:(id)sender {

   UIButton *buttonSender = sender;
   buttonSender.selected = YES;
   NSLog(@"button tag %@",buttonSender.tag);

   for (int i = buttonSender.tag-1; i>0; …
Run Code Online (Sandbox Code Playgroud)

objective-c uibutton ios

0
推荐指数
1
解决办法
62
查看次数