我想做的事情似乎很简单,但我在网上找不到任何答案.我有一个NSMutableArray对象,让我们说它们是'人'对象.我想NSMutableArray按Person.birthDate 排序,这是一个NSDate.
我认为这与这个方法有关:
NSArray *sortedArray = [drinkDetails sortedArrayUsingSelector:@selector(???)];
Run Code Online (Sandbox Code Playgroud)
在Java中,我会使我的对象实现Comparable,或者使用带有内联自定义比较器的Collections.sort ...你到底如何在Objective-C中执行此操作?
我主要是Java头,我想要一种生成0到74之间的伪随机数的方法.在Java中我会使用这个方法:
Random.nextInt(74)
Run Code Online (Sandbox Code Playgroud)
我对种子或真正随机性的讨论不感兴趣,只是你如何在Objective-C中完成相同的任务.我搜索谷歌,似乎有很多不同的和相互矛盾的信息.
我希望能够在iPhone和iPad上创建GUID/UUID.
目的是能够为所有唯一的分布式数据创建密钥.有没有办法用iOS SDK做到这一点?
有谁知道为什么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)
它呈现在正确的位置和尺寸,但图像是颠倒的.我一定错过了一些非常明显的东西吗?
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) 当我登录Apple拥有的Bug Reporter工具时,我只能看到我的错误.我通常喜欢搜索系统以查看其他人是否在发布之前提交了错误,但我看不出有任何方法可以执行此操作.我只能看到我的错误,并发布新的错误,但我看不到任何方式浏览或搜索整个错误系统.
这是Apple的限制,还是我错过了什么?
我注意到一些应用程序(如Safari和Mail)在访问网络时在状态栏(手机最顶部的栏)中显示加载指示符.有没有办法在SDK应用程序中做同样的事情,或者这只是Apple的事情?
我想从文件系统将一些图像加载到我的应用程序中.有两种简单的方法可以做到这一点:
[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本身上.
我有一个带有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应用程序之前根本不存在.
有任何想法吗?
我有一些相当简单的事我想做.我将一个自定义数据附加到我处理的一些推送通知中
-(BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
Run Code Online (Sandbox Code Playgroud)
我寻找UIApplicationLaunchOptionsRemoteNotificationKey,并且它就是它.
如果我的应用程序是第一次启动,则只会调用该方法.如果我的应用程序在通知进入后已经在后台运行并且用户按下通知上的"查看"按钮,我该如何读取相同的密钥?我想将它们发送到特定的视图控制器,并在其上打开该数据,就像我第一次从通知中启动应用程序时一样.
cocoa-touch ×5
ios ×5
iphone ×2
objective-c ×2
bug-tracking ×1
dictionary ×1
guid ×1
multitasking ×1
random ×1
sorting ×1
swift ×1
uuid ×1