小编Dat*_*shi的帖子

更新NSArray上的值

我遇到了这样的问题.我需要更新NSArray中的值.并且不知道如何做到这一点.这是我的阵列

NSArray *arrayWithInfo = [[NSArray alloc] initWithObjects:AMLocalizedString(@"Status", nil),AMLocalizedString(@"Call", nil),AMLocalizedString(@"Location", nil),AMLocalizedString(@"Control", nil),AMLocalizedString(@"Sim", nil),AMLocalizedString(@"Object", nil),AMLocalizedString(@"Info", nil),nil];
self.dataArray = arrayWithInfo;
[arrayWithInfo release];
Run Code Online (Sandbox Code Playgroud)

更具体地说,我使用此数组初始化了tableview.用户有可能使用不同的本地化字符串,因此我必须更新它.通过使用[tableview reloadData];我得到的表来更新,但NSArray中的值保持不变,它们首先被初始化.

那么如何让数组再次查看字符串并获得新值?

xcode objective-c ios

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

仅适用于iPhone

我的应用被拒绝了,因为它在iPad上崩溃了.说实话,它应该崩溃,因为它没有我的应用程序使用的SIM卡(用于发送消息).我已经制作了设备:iphone,并在我的构建中部署目标iphone.然而出于某种原因苹果公司的人仍试图在iPad上运行它.我怎么能只为iPhone制作我的应用程序?没有理由捕获异常并尝试在iPad或iPod touch上运行它,因为大多数应用程序功能都包含发送短信..我该怎么办?以及如何确保应用仅在iPhone上,而不是在iPad或iPod touch上

xcode ios

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

UIView动画隐藏和显示

我开始使用UIView动画.并且无法使这些代码正常工作.这就是我所拥有的

if(_Language.hidden == true)
{
    [UIView animateWithDuration:1.0
                          delay:0.0
                        options:UIViewAnimationCurveEaseInOut
                     animations:^ {
                        _Language.alpha = 1.0;
                     }
                     completion:^(BOOL finished) {
                         _Language.hidden = false;
                     }];
}
else
{
    [UIView animateWithDuration:1.0
                          delay:0.0
                        options:UIViewAnimationCurveEaseInOut
                     animations:^ {
                         _Language.alpha = 0.0;
                     }
                     completion:^(BOOL finished) {
                         _Language.hidden = true;
                     }];
}
Run Code Online (Sandbox Code Playgroud)

此代码以这种方式工作.隐藏动画按预期工作.但是显示动画只等待1秒,然后弹出对象而没有任何过渡.谁能告诉我这里缺少什么?

cocoa-touch block objective-c ios

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

按固定长度NSData到NSData的NSMutableArray

我试图从NSData获取NSMutableArray 16个字节,但没有这样做.也许任何人都可以指出我正确的方向.

示例:输入: <c4ebc39d edf81fe6 09e0a41a 34b4d20d c4ebc39d edf81fe6 09e0a41a 34b4d20d>

输出: <c4ebc39d edf81fe6 09e0a41a 34b4d20d> <c4ebc39d edf81fe6 09e0a41a 34b4d20d>

我这样想:

NSMutableArray *blocks = [[NSMutableArray alloc]init];
for (NSUInteger i = 0; i <= [data length]; i=i+16) {
    unsigned char *byte = NULL;
    [data getBytes:byte range:NSMakeRange(i, 16)];
    NSData *temp = [[NSData alloc] initWithBytes:byte length:sizeof(byte)];
    [blocks addObject:temp];
}
Run Code Online (Sandbox Code Playgroud)

出于某种原因,这会抛出我的exc_bad_access.

objective-c nsdata

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

通过意图传递 list&lt;String[]&gt;

我想将List<String[]>意图传递给活动,然后检索它。有人知道如何正确执行此操作吗?谢谢

java android android-intent

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

内存不足异常未被捕获

我可以选择Bitmap在我的应用程序中保存到SD卡.
我正在节省AsyncTask方法.这是我在背景上所做的

public File saveImageToExternalStorage(Bitmap image, String name) {
 String fullPath = Environment.getExternalStorageDirectory().getAbsolutePath() + APP_PATH_SD_CARD + APP_THUMBNAIL_PATH_SD_CARD;

 try {
 File dir = new File(fullPath);
 if (!dir.exists()) {
 dir.mkdirs();
 }
 OutputStream fOut = null;
 File file = new File(fullPath, name.replaceAll("/", "").trim());
 file.createNewFile();
 fOut = new FileOutputStream(file);
 image.compress(Bitmap.CompressFormat.JPEG, 50, fOut);
 fOut.flush();
 fOut.close();
 MediaStore.Images.Media.insertImage(getApplicationContext().getContentResolver(), file.getAbsolutePath(), file.getName(), file.getName());

 return file;

 } catch (Exception e) {
 return null;
 }
Run Code Online (Sandbox Code Playgroud)

如果我从这个方法中获取null,我正在显示有关用户无法保存等信息.虽然这应该足够了,但是我报告OutOfMemory了一个用户从这个方法崩溃了.堆栈跟踪:

java.lang.RuntimeException: An error occured while executing doInBackground()
at android.os.AsyncTask$3.done(AsyncTask.java:299) …
Run Code Online (Sandbox Code Playgroud)

android out-of-memory

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