小编And*_*rew的帖子

.NET Framework中的并发HashSet <T>?

我有以下课程.

class Test{
    public HashSet<string> Data = new HashSet<string>();
}
Run Code Online (Sandbox Code Playgroud)

我需要从不同的线程更改字段"Data",所以我想对我当前的线程安全实现有一些看法.

class Test{
    public HashSet<string> Data = new HashSet<string>();

    public void Add(string Val){
            lock(Data) Data.Add(Val);
    }

    public void Remove(string Val){
            lock(Data) Data.Remove(Val);
    }
}
Run Code Online (Sandbox Code Playgroud)

是否有更好的解决方案,直接进入现场并保护它免受多线程的并发访问?

c# multithreading mutex locking thread-safety

132
推荐指数
3
解决办法
8万
查看次数

UIButton TouchUpInside触摸位置

所以我有一个大的UIButton,它是一个UIButtonTypeCustom,并且需要按钮目标UIControlEventTouchUpInside.我的问题是如何确定UIButton触摸发生的位置.我想要这个信息,所以我可以从触摸位置显示一个弹出窗口.这是我尝试过的:

UITouch *theTouch = [touches anyObject];
CGPoint where = [theTouch locationInView:self];
NSLog(@" touch at (%3.2f, %3.2f)", where.x, where.y);
Run Code Online (Sandbox Code Playgroud)

和各种其他迭代.按钮的目标方法通过以下方式从中获取信息sender:

    UIButton *button = sender;
Run Code Online (Sandbox Code Playgroud)

那么,有没有办法,我可以使用类似:button.touchUpLocation

我在网上看了找不到类似的东西,所以提前谢谢.

iphone touch uibutton uitouch sender

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

如何在iPhone中创建警报框?

我想创建一个警告类型框,以便当用户尝试删除某些内容时,它会说"你确定",然后如果他们确定则为是或否.在iPhone上做这个的最好方法是什么?

iphone objective-c uialertview ios

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

NSString到NSNumber

所以这个问题让我感到困惑太久了.我有UIAlertView一个textField在里面,而我需要的价值textFieldNSNumber.但我尝试的一切都给了我随机的数字串.任何帮助将非常感谢.

int i = [[alertView textFieldAtIndex:0].text intValue];
NSNumber *number = [NSNumber numberWithInt:[[alertView textFieldAtIndex:0].text integerValue]];    


int number = [[dict objectForKey:@"integer"] intValue];

NSLog(@"text = %@", [alertView textFieldAtIndex:0].text);


NSString *alertText = [alertView textFieldAtIndex:0].text;

NSNumberFormatter * f = [[NSNumberFormatter alloc] init];
[f setNumberStyle:NSNumberFormatterNoStyle];
NSNumber * myNumber = [f numberFromString:[alertView textFieldAtIndex:0].text];


NSNumber *number = @([alertText intValue]);

NSString *string = @"54";
NSNumber *number = @([string intValue]);

NSLog(@"here we are: %i", number);
Run Code Online (Sandbox Code Playgroud)

iphone int objective-c nsnumber nsstring

20
推荐指数
2
解决办法
4万
查看次数

断点指出"objc_autoreleaseNoPool"

因此,我正在为其应用程序的预制调试应用程序,因此我启用了"所有例外"的通用断点.从那时起,每次运行应用程序时,控制台都会打印:

Catchpoint 2(throw)待定断点1 - "objc_exception_throw"已解决

objc [11765]:类__NSCFLocale的对象0x8f18ff0自动释放,没有池到位 - 只是泄漏 - 在objc_autoreleaseNoPool()中断以调试

objc [11765]:类__NSCFNumber的对象0x8f190a0自动释放,没有池到位 - 只是泄漏 - 在objc_autoreleaseNoPool()中断以调试

objc [11765]:类__NSCFLocale的对象0x8f1fef0自动释放,没有池到位 - 只是泄漏 - 在objc_autoreleaseNoPool()中断以调试

字面打印3次.我不知道这意味着什么,但看起来很糟糕.任何意见,将不胜感激.

xcode breakpoints objective-c ios

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

目标c:检查整数/整数/数字

在目标c中,我如何检查字符串/ NSNumber是整数还是整数

variables int objective-c nsnumber nsstring

15
推荐指数
2
解决办法
3万
查看次数

将CGRect转换为Array中的NSValue,反之亦然

我有一个充满CGRects的数组.那部分没问题.问题是当我从数组中检索CGRects时,我得到了奇怪的错误.看看我的代码.

NSArray *frameLocations = [NSArray arrayWithObjects:
                           [NSValue valueWithCGRect:CGRectMake(20, 20, 121, 124)],
                           [NSValue valueWithCGRect:CGRectMake(176, 20, 121, 124)],
                           nil];
Run Code Online (Sandbox Code Playgroud)

比我在for循环中得到帧,像这样:

 CGRect *imageFrame = [[frameLocations objectAtIndex:i] CGRectValue];
Run Code Online (Sandbox Code Playgroud)

我尝试了一系列不同的变体,将这一行传播到多个变量上.但我似乎无法得到它.

iphone nsarray cgrect

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

为iOS创建本地化文件

我想本地化我的一个应用程序.但我似乎无法弄明白.我试过阅读苹果的文档,我看了一堆通过搜索找到的教程.我知道如何更改我的所有字符串NSLocalizedStrings,以及如何编辑那些创建的本地化文件,但我的问题是我无法弄清楚如何创建这些目录.

你如何制作这些文件夹en.lproj和西班牙文件夹.另外,如何制作其中的两个字符串文件.

一步一步的帮助将不胜感激,或链接到这一部分的详细教程.

提前致谢.

注意:我做了无数次尝试而且只是陷入困境.

iphone localization objective-c

9
推荐指数
2
解决办法
8298
查看次数

ShareKit现在支持iOS 5吗?

ShareKit(https://github.com/ShareKit/ShareKit)现在可以支持iOS 5吗?

对于这种类似的反向兼容性问题,开发人员需要考虑的重点是什么?需要考虑ARC?或者他们是否需要考虑使用故事板来替换xib?处理此类问题的任何良好做法指南?

感谢任何线索或评论来理解这个问题.

sharekit ios5

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

ios8照片编辑扩展问题

我一直在开发一个用于编辑照片的应用程序,我希望有一个照片应用程序的扩展程序.enxtension在模拟器上完美运行,没有任何问题.

但是当我尝试在我的iPhone 6中运行它时,我遇到了两个问题:

  1. 供应配置文件的问题.我知道,对于扩展,我需要一个新的AppID(名为app.myapp.com.extension,主AppID是app.myapp.com)和新的配置文件.我使用新的AppID创建了2个新的配置步骤(一个用于开发,另一个用于分发),但是当我尝试在设备上运行它时出现此错误:

错误:嵌入式二进制文件未使用与父应用程序相同的证书进行签名.验证嵌入式二进制目标的代码符号设置是否与父应用程序匹配.嵌入式二进制签名证书: - (特别代码签名)家长应用签名证书:iPhone开发人员:Mauro Vime(------------------)

我重新设置了开发配置文件以检查是否用于开发,而不是用于Ad Hoc,但我仍然遇到同样的问题.

  1. 所以我尝试从应用程序中导出ipa并运行它.该应用程序运行完美但扩展程序只显示黑色视图,而不是包含照片的视图.然后我检查了手机的崩溃日志,看到了这个:

事件标识符:9E578D78-FAB7-419E-AB35-7BA7B0821AFA CrashReporter密钥:ae6bdea47a4e64b09a8fb7fa8599b5e23ceb5311硬件型号:iPhone7,2进程:扩展名[2598]路径:
/private/var/mobile/Containers/Bundle/Application/------- ---/------------/PlugIns/extension.appex/extension标识符:app.myapp.com.extension版本:1(1.0)代码类型:ARM-64(Native)父进程:
launchd [1]日期/时间:2014-10-14 01:29:21.482 +0200发布时间:2014-10-14 01:29:16.170 +0200操作系统版本:iOS 8.1(12B407)报告版本:105 Exception Type :EXC_CRASH(SIGABRT)异常子类型:LAUNCH_HANG异常消息:扩展花了太多时间来初始化突出显示的线程:0 Backtrace不可用未知线程与ARM线程状态(64位)崩溃:x0:0x0000000000000000 x1:0x0000000000000000 x2:0x0000000000000000 x3 :0x0000000000000000 x4:0x0000000000000000 x5:0x0000000000000000 x6:0x0000000000000000 x7:0x0000000000000000 x8:0x0000000000000000 x9:0x0000000000000000 x10:0x0000 000000000000 x11:0x0000000000000000 x12:0x0000000000000000 x13:0x0000000000000000 x14:0x0000000000000000 x15:0x0000000000000000 x16:0x0000000000000000 x17:0x0000000000000000 x18:0x0000000000000000 x19:0x0000000000000000 x20:0x0000000000000000 x21:0x0000000000000000 x22:0x0000000000000000 x23:0x0000000000000000 x24:0x0000000000000000 x25:0x0000000000000000 x26:0x0000000000000000 x27 :0x0000000000000000
x28:0x0000000000000000 fp:0x0000000000000000 lr:0x0000000000000000 sp:0x000000016fdb3b68 pc:0x00000001200f9000 cpsr:0x00000000二进制图像:0x1200f8000 - 0x12011ffff dyld arm64/usr/lib/dyld

这里说应用程序在8.1设备中运行,但我也在8.0.2 iOS中尝试过,同样的问题出现了.看到消息:"扩展花了太多时间来初始化",我刚刚清除了viewDidLoad和viewWillAppear函数,因此它们不执行任何代码,但问题仍然存在.

有没有人遇到过这个问题并有解决方案?

iphone photo objective-c ios

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