小编rus*_*elf的帖子

如何使用自定义对象对NSMutableArray进行排序?

我想做的事情似乎很简单,但我在网上找不到任何答案.我有一个NSMutableArray对象,让我们说它们是'人'对象.我想NSMutableArray按Person.birthDate 排序,这是一个NSDate.

我认为这与这个方法有关:

NSArray *sortedArray = [drinkDetails sortedArrayUsingSelector:@selector(???)];
Run Code Online (Sandbox Code Playgroud)

在Java中,我会使我的对象实现Comparable,或者使用带有内联自定义比较器的Collections.sort ...你到底如何在Objective-C中执行此操作?

sorting cocoa-touch objective-c nsmutablearray ios

1253
推荐指数
19
解决办法
46万
查看次数

在Objective-C中生成随机数

我主要是Java头,我想要一种生成0到74之间的伪随机数的方法.在Java中我会使用这个方法:

Random.nextInt(74)
Run Code Online (Sandbox Code Playgroud)

我对种子或真正随机性的讨论不感兴趣,只是你如何在Objective-C中完成相同的任务.我搜索谷歌,似乎有很多不同的和相互矛盾的信息.

random objective-c

736
推荐指数
9
解决办法
44万
查看次数

如何使用iOS创建GUID/UUID

我希望能够在iPhone和iPad上创建GUID/UUID.

目的是能够为所有唯一的分布式数据创建密钥.有没有办法用iOS SDK做到这一点?

uuid guid ios

207
推荐指数
8
解决办法
11万
查看次数

传递UIImage.CGImage时,CGContextDrawImage将图像上下颠倒

有谁知道为什么CGContextDrawImage会把我的形象颠倒过来?我从我的应用程序加载图像:

UIImage *image = [UIImage imageNamed:@"testImage.png"];
Run Code Online (Sandbox Code Playgroud)

然后简单地要求核心图形将其绘制到我的上下文中:

CGContextDrawImage(context, CGRectMake(0, 0, 145, 15), image.CGImage);
Run Code Online (Sandbox Code Playgroud)

它呈现在正确的位置和尺寸,但图像是颠倒的.我一定错过了一些非常明显的东西吗?

cocoa-touch core-graphics ios cgcontextdrawimage

178
推荐指数
7
解决办法
11万
查看次数

如何将项目词典添加到另一个词典中

Swift中的数组支持+ =运算符,将一个数组的内容添加到另一个数组.有没有一种简单的方法来为字典做到这一点?

例如:

var dict1 = ["a" : "foo"]
var dict2 = ["b" : "bar"]

var combinedDict = ... (some way of combining dict1 & dict2 without looping)
Run Code Online (Sandbox Code Playgroud)

dictionary swift

165
推荐指数
17
解决办法
10万
查看次数

我可以浏览其他人的(Apple)错误报告吗?

当我登录Apple拥有的Bug Reporter工具时,我只能看到我的错误.我通常喜欢搜索系统以查看其他人是否在发布之前提交了错误,但我看不出有任何方法可以执行此操作.我只能看到我的错误,并发布新的错误,但我看不到任何方式浏览或搜索整个错误系统.

这是Apple的限制,还是我错过了什么?

bug-tracking

157
推荐指数
6
解决办法
4万
查看次数

如何在顶部状态栏中显示加载指示器

我注意到一些应用程序(如Safari和Mail)在访问网络时在状态栏(手机最顶部的栏)中显示加载指示符.有没有办法在SDK应用程序中做同样的事情,或者这只是Apple的事情?

cocoa-touch ios

119
推荐指数
6
解决办法
4万
查看次数

[UIImage imageNamed ...]和[UIImage imageWithData ...]之间的区别?

我想从文件系统将一些图像加载到我的应用程序中.有两种简单的方法可以做到这一点:

[UIImage imageNamed:fullFileName]
Run Code Online (Sandbox Code Playgroud)

要么:

NSString *fileLocation = [[NSBundle mainBundle] pathForResource:fileName ofType:extension];
NSData *imageData = [NSData dataWithContentsOfFile:fileLocation];

[UIImage imageWithData:imageData];
Run Code Online (Sandbox Code Playgroud)

我更喜欢第一个,因为它的代码少得多,但是我看到有些人说图像被缓存了,而且这个方法使用了更多的内存?由于我不相信大多数其他论坛上的人,我想我会在这里问这个问题,是否有任何实际的区别,如果是的话哪个更"好"?

我尝试使用对象分配工具分析我的应用程序,我看不出任何实际差异,虽然我只在模拟器中尝试过,而不是在iPhone本身上.

iphone cocoa-touch

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

即使您未打开"设置应用",也可以在Settings.bundle默认设置中进行设置

我有一个带有settings.bundle的iPhone应用程序,可以处理我的应用程序的各种设置.我可以在root.plist文件中设置默认值(使用DefaultValue属性),但这些只在用户第一次打开设置应用程序时使用.有没有办法在您的应用程序安装时写出这些值?我知道我可以编写代码来检查我的应用程序的第一次启动,然后将它们写出来,但之后它们位于两个不同的地方.

以下是我的root.plist中的一个条目作为示例:

<dict>
    <key>Type</key>
    <string>PSToggleSwitchSpecifier</string>
    <key>Title</key>
    <string>Open To Top Location</string>
    <key>Key</key>
    <string>open_top_location</string>
    <key>DefaultValue</key>
    <string>YES</string>
    <key>TrueValue</key>
    <string>YES</string>
    <key>FalseValue</key>
    <string>NO</string>
</dict>
Run Code Online (Sandbox Code Playgroud)

最终的结果应该是,如果我要求'open_to_top_location',我会得到一个YES,而不是在用户第一次打开Settings应用程序之前根本不存在.

有任何想法吗?

iphone cocoa-touch

55
推荐指数
4
解决办法
3万
查看次数

如果应用程序已在后台运行,如何响应推送通知视图

我有一些相当简单的事我想做.我将一个自定义数据附加到我处理的一些推送通知中

-(BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
Run Code Online (Sandbox Code Playgroud)

我寻找UIApplicationLaunchOptionsRemoteNotificationKey,并且它就是它.

如果我的应用程序是第一次启动,则只会调用该方法.如果我的应用程序在通知进入后已经在后台运行并且用户按下通知上的"查看"按钮,我该如何读取相同的密钥?我想将它们发送到特定的视图控制器,并在其上打开该数据,就像我第一次从通知中启动应用程序时一样.

multitasking apple-push-notifications ios

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