小编Val*_*din的帖子

NSUserDefaults日志中的错误

我在日志中收到一些错误消息

 [User Defaults] Failed to write value for key GameId in CFPrefsPlistSource<0x1740faf00> (Domain: xxx.xxxxxx, User: kCFPreferencesCurrentUser, ByHost: No, Container: (null)): Path not accessible, switching to read-only
[User Defaults] attempt to set <private> for key in <private> in read-only (due to a previous failed write) preferences domain CFPrefsPlistSource<0x1740faf00> (Domain: xxx.xxxxxx, User: kCFPreferencesCurrentUser, ByHost: No, Container: (null))
Run Code Online (Sandbox Code Playgroud)

是什么导致这个?

这就是我的用法NSUserDefaults:

- (NSString *)gameId
{
    if (_gameId)
        return _gameId;

    _gameId = [[NSUserDefaults standardUserDefaults] objectForKey:@"GameId"];
    return _gameId;
}

- (void)setGameId:(NSString *)aGameId
{
    _gameId …
Run Code Online (Sandbox Code Playgroud)

xcode objective-c nsuserdefaults ios

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

+ entityForName:nil不是合法的NSManagedObjectContext参数,用于搜索实体名称"Account"

我尝试了很多选项,但找不到解决这个问题的方法.我创建了一个Core Data文件并命名了实体Account,创建了一个名为username的字符串属性.然后将实体的类编辑为NSManagedObject,不确定这是否正确.现在,以下代码在我的LoginViewController中:

- (void)viewDidLoad
{
    [super viewDidLoad];

    ITAppDelegate *appDelegate = (ITAppDelegate *)[[UIApplication sharedApplication] delegate];
    NSManagedObjectContext *context = appDelegate.managedObjectContext;

    Account *newAccount = [NSEntityDescription insertNewObjectForEntityForName:@"Account" inManagedObjectContext:context];
    [newAccount setValue:@"Jorge" forKey:@"username"];
    [newAccount setPassword:@"password"];

    NSLog(@"username:%@   password: %@", [newAccount username], [newAccount password]);

}
Run Code Online (Sandbox Code Playgroud)

我按照本教程,我的代码文件如下所示:

ITAppDelegate.h

#import <UIKit/UIKit.h>

@interface ITAppDelegate : UIResponder <UIApplicationDelegate>

@property (strong, nonatomic) UIWindow *window;

@property (readonly, strong, nonatomic) NSManagedObjectContext *managedObjectContext;
@property (readonly, strong, nonatomic) NSManagedObjectModel *managedObjectModel;
@property (readonly, strong, nonatomic) NSPersistentStoreCoordinator *persistentStoreCoordinator;

@end
Run Code Online (Sandbox Code Playgroud)

ITAppDelegate.m

#import "ITAppDelegate.h"
#import "LoginViewController.h"

@implementation ITAppDelegate

@synthesize …
Run Code Online (Sandbox Code Playgroud)

login core-data keychain ios xcode5

19
推荐指数
1
解决办法
3万
查看次数

UITabBarItem setFinishedSelectedImage:在iOS7中已弃用

setFinishedSelectedImage:withFinishedUnselectedImage:在iOS7中已弃用.苹果公司建议使用的制定者imageselectedImageUIImageRenderingModeAlwaysOriginal来代替.我找不到任何如何使用的例子UIImageRenderingModeAlwaysOriginal.所以问题很简单:如何UITabBarItem在iOS7中设置图像?

objective-c uiimage ios ios7

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

在Swift 5中获取字符串md5

在Swift 4中,我们可以使用

var md5: String? {
    guard let data = self.data(using: .utf8) else { return nil }
    let hash = data.withUnsafeBytes { (bytes: UnsafePointer<Data>) -> [UInt8] in
        var hash: [UInt8] = [UInt8](repeating: 0, count: Int(CC_MD5_DIGEST_LENGTH))
        CC_MD5(bytes, CC_LONG(data.count), &hash)
        return hash
    }
    return hash.map { String(format: "%02x", $0) }.joined()
}
Run Code Online (Sandbox Code Playgroud)

但是在Swift 5中withUnsafeBytes使用UnsafeRawBufferPointer代替UnsafePointer。如何改变md5功能?

md5 ios swift swift5

9
推荐指数
4
解决办法
2551
查看次数

我可以设置瞬态属性来获取吗?

我想创建NSFetchRequest和设置属性以获取如下:

request.propertiesToFetch = @[@"a", @"b", @"c"];
Run Code Online (Sandbox Code Playgroud)

其中ab存储在Core Data数据库中,并且c是瞬态的.executeFetchRequest:发出错误Invalid keypath c passed to setPropertiesToFetch:.但如果我取消选中属性的transient-checkbox,c一切都会正常工作.那么获取瞬态属性真的不可能,或者我做错了什么?

core-data objective-c nsfetchrequest ios

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

只能在使用队列创建的NSManagedObjectContext上使用-performBlock :.

我想对Core Data使用多线程.我在NSManageObjects中解析xml文件.我使用下面的代码,我得到运行时错误Can only use -performBlock: on an NSManagedObjectContext that was created with a queue.怎么了?

//xmlParser

- (void)main
{
    dispatch_queue_t queueB = dispatch_queue_create("Create Books", NULL);
    dispatch_async(queueB, ^{
        // Opening xml
        // ...
        NSManagedObjectContext* context = [[NSManagedObjectContext alloc] init];
        [context setPersistentStoreCoordinator:mainContext].persistentStoreCoordinator];
        [context performBlock:^{
             // ...
             [self _parseNode:container_node appendTo:books inContext:context];
             // ...
             NSError* error = nil;
             [context save:&error];
             [mainContext performBlock:^{
                 NSError* parentError = nil;
                 [mainContext save:&parentError];
             }];
         }];
         [context release];
     });
     dispatch_release(queueB);
}

- (int)_parseNode:(axlNode*)inode appendTo:(NSMutableArray*)ioarray inContext:(NSManagedObjectContext*)context
{
    // …
Run Code Online (Sandbox Code Playgroud)

multithreading core-data objective-c grand-central-dispatch ios

6
推荐指数
1
解决办法
5611
查看次数

iOS 8和iOS 9的系统字体

我想为我的应用程序支持iOS 8和iOS 9系统.也许iOS 7.我们知道,iOS 7和8的系统字体是Helvetica Neue.但在iOS 9系统中,字体是San-Francisco.如果您没有明确地设置Helvetica字体[UIFont fontWithName:@"HelveticaNeue" size:15];,但是使用[UIFont systemFontOfSize:15];,您将自动获得适用于iOS 7和8的Helvetica以及适用于iOS 9的San-Francisco.这太棒了!对于界面构建器的标签和按钮,您可以设置薄,超薄,中等系统字体.它也很棒.但是如何以编程方式在代码中设置这些超薄,超,中等系统字体?我是否需要为iOS 9和之前的iOS创建一个带分叉的类别?

uifont ios ios8 ios9

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

下拉以显示视图

我有UITableView.我想添加一个UITextField上面的tableView,可以通过拉下tableView来访问它.我想通过拉取tableView来隐藏我的textField.我怎样才能做到这一点?这是我试过的:

[self.messagesTableView addSubview:self.messageField];

- (UITextField*)messageField
{
    if (!_messageField)
    {
        _messageField = [[UITextField alloc] initWithFrame:CGRectMake(0, 0, self.messagesTableView.frame.size.width, kMessageFieldHeight)];
        _messageField.autoresizingMask = UIViewAutoresizingFlexibleWidth;
        _messageField.backgroundColor = [UIColor greenColor];
    }
    return _messageField;
}

- (void)scrollViewDidScroll:(UIScrollView*)scrollView
{
    if (scrollView == self.messagesTableView)
    {
        CGRect newFrame = self.messagesTableView.frame;
        newFrame.origin.y = self.messagesTableView.contentOffset.y + kMessageFieldHeight;
        self.messagesTableView.frame = newFrame;
    }
}
Run Code Online (Sandbox Code Playgroud)

objective-c uitableview uiscrollview ios

5
推荐指数
1
解决办法
3841
查看次数

如何将 UIView 旋转 45 度?

我想用动画旋转我UIButtonM_PI/4。这是我的代码:

- (void)viewDidAppear:(BOOL)animated
{
    [super viewDidAppear:animated];
    [UIView animateWithDuration:.5 animations:^{
        self.closeButton.transform = CGAffineTransformMakeRotation(M_PI/4);
    }];
}
Run Code Online (Sandbox Code Playgroud)

但这会使我的按钮框架损坏。动画之前的帧(260 0; 44 44)和动画之后的帧变成(250.887 -9.1127; 62.2254 62.2254). 我看到了这篇文章和其他一些文章,但我不明白,如何通过M_PI/2.

objective-c uiview uiviewanimation ios

5
推荐指数
1
解决办法
8047
查看次数

Xcode 11 中的差异在哪里?

在以前的版本中,很容易从任何特定提交中区分我的代码和代码。但是 Xcode 11 中的这个按钮在哪里?!只有作者按钮。 在此处输入图片说明

xcode git-diff xcode11

5
推荐指数
1
解决办法
1114
查看次数