我有一个NSArray,其中填充了NSMutableArray中的对象.这些对象中的大多数具有整数值,如"1","2","3","4","5",有时会有"home","far left"或"far right"这样的名称.我正在尝试使用sortedArrayUsingSelector在Objective C中对此数组进行排序:@selector(compare :)在数组中少于10个项目时工作正常.但是当它还有更多我开始得到"1","10","11","12","2","3"类型的东西.非常感激任何的帮助.代码不应返回任何内容.它只需要排序并继续前进.
原始代码:
presetNamesSort = [[[NSMutableArray alloc]init]retain];
presetNamesSort = [presetNames sortedArrayUsingSelector:@selector(compare:)];
Run Code Online (Sandbox Code Playgroud) 我是iPhone开发的新手.Currentlly我正在为我的应用程序设置一个选项模块.用户应该能够编辑一些首选项.
我的第一个方法是有一些文本字段.但我真的很喜欢iOS如何处理编辑首选项.有某种标签.单击该标签将打开另一个视图,其中包含要编辑的字段.我希望你明白我的意思.
iOS如何实现这一目标?那是表格视图吗?
我的意思是这种设计

Rails I18n库将YAML文件转换为可通过使用t()函数的虚线路径调用访问的数据结构.
t('one.two.three.four')
Run Code Online (Sandbox Code Playgroud)
有没有人知道如何用Ruby Hash做到这一点?或者只能直接通过YAML对象?
我有一个导航控制器,它有几个视图控制器.除了一个只支持横向的特殊视图控制器外,我需要支持所有视图控制器的所有方向.此特殊视图控制器显示在导航堆栈的中间.我做了很多研究,但找不到任何好的解决方案.以下是我阅读和尝试过的链接.
如何从纵向模式自动旋转到横向模式? iPhone - 仅在一个视图控制器上允许横向显示 http://goodliffe.blogspot.com/2009/12/iphone-forcing-uiview-to-reorientate.html
接下来我将尝试替换导航控制器presentModalViewController以显示特殊视图控制器.然后我将在特殊视图控制器内创建一个新的导航视图控制器来推送后续的视图控制器.
如果有人有更好的想法,请告诉我.非常感谢!
更新:我已成功地使用我上述方法:更换pushViewController用presentModalViewController,并创建一个新的导航控制器.
iphone cocoa-touch uinavigationcontroller uiinterfaceorientation ios
现在iPad 2配备了两个CPU内核,线程问题的调试将比以往更加重要.现在我想知道:iOS模拟器实际上是否使用Mac上的多核?
昨天,在关于iPad 2的新Garageband的演示中,Apple演示了一个有趣的功能:使用加速度计检测分接压力.(参见Garageband页面上的鼓部分.)
我想知道如果iPad平放在桌子上,那该怎么办呢.没有运动,没有可测量的加速度,没有?
iOS 13 引入UIImage了自动采用当前UIUserInterfaceStyle模式(又名亮或暗模式)的实例。但是,似乎只有从命名或系统映像(imageNamed:inBundle:withConfiguration:或systemImageNamed:withConfiguration:)构建此类映像的方法。
有没有办法UIImage从 Core Graphics动态生成通用明暗模式(例如使用两个CGImages 或使用 UIGraphicsImageRenderer)?
我没有看到任何 API,但也许我错了。
我想检索给定通知名称的观察者(对象和选择器)列表.我知道没有正式的API.我也知道我可以继承NSNotificationCenter来实现这一目标.但有时候这不是一个可行的选择,因为NSNotificationCenter的使用遍布整个代码甚至二进制框架.
所以我正在寻找一种非官方/私人的方式来做到这一点.(因为它只是关于调试,没关系.)
我正在开始一个使用coreLocation和mapkit框架的新应用程序.
我的问题是试图让当前的速度总是给我一个负值,我把我的iPhone带到一个有3g信号的地方并没关系,location.speed值总是-1.
这是重要的代码:
#define kRequiredAccuracy 1500.0 //meters
#define kMaxAge 60.0 //seconds
Run Code Online (Sandbox Code Playgroud)
在init方法中:
self.locationManager=[[CLLocationManager alloc] init];
self.locationManager.delegate=self;
self.locationManager.desiredAccuracy=kCLLocationAccuracyNearestTenMeters;
Run Code Online (Sandbox Code Playgroud)
然后didUpdateToLocation:
- (void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation{
NSTimeInterval ageInSeconds = [newLocation.timestamp timeIntervalSinceNow];
NSLog(@"Location: %@", [newLocation description]);
if( newLocation.horizontalAccuracy > kRequiredAccuracy || fabs(ageInSeconds) > kMaxAge )
{
NSLog(@"inacurate position");
[self.delegate inacuratePosition];
}
else {
[self.delegate locationUpdate:newLocation andOldLocation:oldLocation];
location=newLocation.coordinate;
}
if(tracking)
{
[self updatePosition];
}
if(firstTime)
{
[self placeStartMark];
firstTime=FALSE;
}
}
Run Code Online (Sandbox Code Playgroud)
最后在我正在实现协议的视图控制器中:
- (void)locationUpdate:(CLLocation *)newLocation andOldLocation:(CLLocation*)oldLocation{
double speed = [newLocation speed] *3.6;
double …Run Code Online (Sandbox Code Playgroud) 我在使用MKMapView和MKMapCamera时注意到了奇怪的行为.我需要实现一些Apple Maps应用程序的标准行为.基本上,我需要的是当Map View的用户跟踪模式设置为MKUserTrackingModeFollowWithHeading时能够在2D和3D模式之间切换.
目前,我的解决方案在userTrackingMode设置为MKUserTrackingModeNone时工作正常,但它在其他模式下执行奇怪的动画(无论我使用setCamera:动画:是或否)都会发生这种情况.当我在设置new之前和之后记录相机参数时,唯一的区别是我的音高变化.
另一个问题是改变摄像机的高度以编程方式放大或缩小.我试图在IBAction方法中使用捏合或缩小手势来模仿缩放.在followWithHeadingMode中,地图始终返回"默认"缩放级别(摄像机的高度),而在其他模式下效果很好.
我启动了示例项目来检查发生了什么,这是我的单视图应用程序的视图控制器,带有地图视图,其中出现问题:
#import "CCViewController.h"
@interface CCViewController ()
@end
@implementation CCViewController
- (void)viewDidLoad{
[super viewDidLoad];
}
- (void)setUpMap{
[self.mapView setShowsUserLocation: YES];
}
- (void)viewDidAppear:(BOOL)animated{
[self setUpMap];
}
- (IBAction)mapModeSwitchClicked:(id)sender {
MKMapCamera *newCamera = [MKMapCamera camera];
newCamera.centerCoordinate = self.mapView.camera.centerCoordinate;
newCamera.heading = self.mapView.camera.heading;
newCamera.altitude = self.mapView.camera.altitude;
if(!self.mapView.camera.pitch){
newCamera.pitch = 50;
self.mapModeSwitch.title = @"2D";
}
else{
newCamera.pitch = 0;
self.mapModeSwitch.title = @"3D";
}
[self.mapView setCamera:newCamera animated:YES];
}
- (IBAction)locateMeButtonClicked:(id)sender {
if(self.mapView.userTrackingMode != MKUserTrackingModeFollowWithHeading)
[self.mapView …Run Code Online (Sandbox Code Playgroud) ios ×8
iphone ×7
cocoa-touch ×4
ipad ×2
mapkit ×2
uikit ×2
cocoa ×1
geolocation ×1
hash ×1
ios-darkmode ×1
key ×1
mkmapview ×1
multicore ×1
nsarray ×1
objective-c ×1
ruby ×1
uiimage ×1
xcode ×1
yaml ×1