小编Dun*_*age的帖子

.xcdatamodeld文件未在Xcode中显示数据模型结构

我的项目中有.xcdatamodeld文件,但它没有打开数据模型.

当我点击Xcode左侧边栏中的文件时,它会继续显示以前选择的文件的内容,而不是显示数据模型.同样,当我右键单击该文件并选择"打开为>"时,我无法选择将其显示为数据模型 - 没有任何内容出现.我检查了SVN repo中的代码,甚至文件管理器所有者也无法在他的工作区中看到它.

macos xcode core-data ios watchkit

11
推荐指数
3
解决办法
4779
查看次数

检查指定的日期是今天,昨天还是将来的日期

我有一个关于NSDate的查询.我有一个日期,即"2011-10-04 07:36:38 +0000",我想检查这个日期是昨天,今天还是未来的日期.

我该怎么做?

iphone objective-c nsdate

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

获取Swift集合或数组中对象的下一个或上一个项目

识别Swift数组中指定对象之前或之后的项目的最佳方法是什么,同时防止出界错误?

arrays swift

10
推荐指数
2
解决办法
3624
查看次数

Apple Watch设置背景图像

如何以编程方式设置我的WatchKit App背景图像?我需要在代码中设置它,因为它根据可变大小而变化,我们需要在图像上放置一个标签.

ios apple-watch watchkit

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

你如何将NSString分成组件?

在Xcode中,如果我有一个NSString包含数字,即@"12345",我该如何将它分成表示组成部分的数组,即"1","2","3","4","5". ..有一个componentsSeparatedByString在上NSString对象,但在这种情况下,没有分隔符...

iphone xcode objective-c nsstring

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

获取iOS键盘的高度而不显示键盘

我正试图获得iOS键盘的高度.我已经完成并使用了涉及订阅通知的方法,如下所示:https: //gist.github.com/philipmcdermott/5183731

- (void)viewDidAppear:(BOOL) animated {
    [super viewDidAppear:animated];
    // Register notification when the keyboard will be show
    [[NSNotificationCenter defaultCenter] addObserver:self
        selector:@selector(keyboardWillShow:)
        name:UIKeyboardWillShowNotification
        object:nil];

    // Register notification when the keyboard will be hide
    [[NSNotificationCenter defaultCenter] addObserver:self
        selector:@selector(keyboardWillHide:)
        name:UIKeyboardWillHideNotification
        object:nil];
}

- (void)keyboardWillShow:(NSNotification *)notification {
    CGRect keyboardBounds;

    [[notification.userInfo valueForKey:UIKeyboardFrameBeginUserInfoKey] getValue:&keyboardBounds];

    // Do something with keyboard height
}

- (void)keyboardWillHide:(NSNotification *)notification {
    CGRect keyboardBounds;

    [[notification.userInfo valueForKey:UIKeyboardFrameBeginUserInfoKey] getValue:&keyboardBounds];

    // Do something with keyboard height
}
Run Code Online (Sandbox Code Playgroud)

这适用于用户实际显示键盘的情况.

我的问题:我有另一种观点,我们称它为micView,可以在键盘出现之前显示.用户可以在键入之前选择使用麦克风.我希望micView与键盘的高度相同,这就是我需要键盘高度的原因,但是在键盘被迫出现之前我需要它.因此,在我需要读取高度值之前,未达到UIKeyboardWillShowNotification.

我的问题是:如何在没有键盘出现的情况下通过Notifications或其他方法获得键盘的高度.

我考虑过明确强制键盘出现在viewDidLoad中,这样我就可以将一个实例变量设置为该值,然后将其隐藏并删除两者的动画.但这真的是唯一的方法吗?

iphone keyboard cocoa-touch ios

8
推荐指数
2
解决办法
5942
查看次数

NSInvalidUnarchiveOperationException无法解码Apple Watch扩展中的对象错误

我有一个用户对象,我需要存储在NSUserDefaults中并与iOS 8扩展应用程序(Watchkit)共享.在主容器应用程序中,我可以毫无问题地对对象进行编码和解码.但是,当我尝试在Extension中检索存储的用户对象时,出现"'NSInvalidUnarchiveOperationException', reason: '*** -[NSKeyedUnarchiver decodeObjectForKey:]: cannot decode object of class"错误.

据我所知,NSCoding已在对象中正确实现(我能够在'main'应用程序中对对象进行编码和解码).

用于存储用户对象的"容器"应用中的代码.

//Store user data in NSUserDefaults
NSUserDefaults *defaults = [[NSUserDefaults alloc] initWithSuiteName:@"group.com.mygroup"];

SFUserAccount *user = [SFUserAccountManager sharedInstance].currentUser;

NSData *userEncodedObject = [NSKeyedArchiver archivedDataWithRootObject:user];
[defaults removeObjectForKey:@"SF User Acct1"]; //remove any old values
[defaults setObject:userEncodedObject forKey:@"SF User Acct1"];

[defaults synchronize];
SFUserAccount *decodedUser =  [NSKeyedUnarchiver unarchiveObjectWithData:userEncodedObject];
Run Code Online (Sandbox Code Playgroud)

上面的最后一行在主应用程序中执行测试解码工作正常.

从NSUserDefaults检索并在扩展目标中解码的代码如下.

NSUserDefaults *defaults = [[NSUserDefaults alloc] initWithSuiteName:@"group.com.mygroup"];
    NSData *archivedUser = [defaults objectForKey:@"SF User Acct1"];



    if (archivedUser){
        SFUserAccount *user =  [NSKeyedUnarchiver unarchiveObjectWithData:archivedUser];
    }
Run Code Online (Sandbox Code Playgroud)

在扩展代码中,我得到一个"'NSInvalidUnarchiveOperationException',原因:'*** …

objective-c nsuserdefaults ios8-extension watchkit

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

如何从上下文菜单中关闭WPF应用程序?

WPF中是否有命令从上下文菜单中关闭应用程序?也就是说,通过右键单击任何窗口上的标题栏可以获得相同的上下文菜单?

有很多标准命令,但我很难找到退出命令.

wpf command

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

如何从我的WatchKit应用程序在iPhone上打开父应用程序?

我正在尝试打开Apple Watch应用程序的父应用程序.

在Xcode Beta 2中,我们可以使用以下代码:

WKInterFaceController.openParentApplication
Run Code Online (Sandbox Code Playgroud)

但是,在Xcode beta 3中,我再也找不到代码了.现在我不知道如何从watch app打开父应用程序.请帮忙.

swift xcode6 watchkit

7
推荐指数
2
解决办法
6371
查看次数

从accessibilityLabel获取UIVIew以实现KIF自动化

我正在使用KIF框架进行功能UI测试.假设我在当前的iPad屏幕上,其中许多视图(标签,按钮,文本字段等)都分配了唯一的可访问性标签.如果我有accessibilityLabel方便的字符串,我可以UIView使用它从当前屏幕获取相关的引用吗?

例如,提供的[[UIView alloc] viewWithTag:5]退货.我正在寻找类似的东西.UIVIewtag[[UIView alloc] viewWithAccessiblityLabel:@"my label"]

PS:我知道暴力方法是以递归方式迭代self.subviews中的所有视图,并比较可访问性标签以找到我要搜索的内容.我正在寻找更好的方法.

accessibility uiview ios kif-framework kif

6
推荐指数
2
解决办法
3809
查看次数