小编Jon*_*rft的帖子

如何正确保存到coredata一对多的关系

我很擅长保存到coreData并使用iOS开发.

我想要实现的目标:

我希望能够在我的数据库中拥有一个具有唯一标识符/的idFB用户,并且该用户可以创建和检索他们的工作例程.

我走了多远?

我设法(我认为)创建一个方法,正确地routineNameRoutine entity与右侧相关联的方法中检索User.看fetch方法.

我的问题:

我认为我没有与正确的实体关系协会保存User (usersExercise) <--->> Routine (userID).顺便说一下,我认为我的save方法不正确...因为我将整个用户保存到userID,它只是感觉不对?主要是因为当它吐出时它Routine.userID会拉动整个相关用户而不是特定ID?我真的不知道会发生什么

有谁可以帮我正确构建这些方法?我对coreData保存和建立正确关系的整个过程非常困惑.

在此输入图像描述

- (void) save {
    Routine *newRoutine = [NSEntityDescription insertNewObjectForEntityForName:@"Routine" inManagedObjectContext:context];

    newRoutine.users = [self getCurrentUser];
    newRoutine.routineName = @"myRoutine Test Name";
    NSError* error;
    [context save:&error ];

    NSLog(@"Saved now try to fetch");
    [self fetch];

}
-(void) fetch {
    NSFetchRequest *fetchRequestItems = [[NSFetchRequest alloc] init];
    NSEntityDescription *entityItem = [NSEntityDescription entityForName:@"Routine" inManagedObjectContext:context];
    [fetchRequestItems setEntity:entityItem];
    User* user …
Run Code Online (Sandbox Code Playgroud)

iphone core-data objective-c ios

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

如何将Dictionary插入数组中

我是iOS和Objective-c的新手.我想pList在我的应用程序中自动生成一个看起来像这样的应用程序.

在此输入图像描述

到目前为止,我已经能够创建文件,使其成为普通Value => Key文件,如果我替换我的for循环

for (NSString* exercisePictureName in bigPictureData) {

        [data setObject:exercisePictureName forKey:exercisePictureName];

    }
Run Code Online (Sandbox Code Playgroud)

但我的问题是我不知道如何在循环结束时构造逻辑来创建如图所示的文件结构.因为它必须准确.

任何人都可以指出我正确的方向如何构建我的循环,以便它创建具有正确格式的文件????

- (void) createImageListFromSource {


    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString *documentsDirectory = [paths objectAtIndex:0];
    NSString *path = [documentsDirectory stringByAppendingPathComponent:@"exercisePictures.plist"];
    NSFileManager *fileManager = [NSFileManager defaultManager];

    if (![fileManager fileExistsAtPath: path])
    {
        path = [documentsDirectory stringByAppendingPathComponent: [NSString stringWithFormat: @"exercisePictures.plist"] ];
    }


    //To insert the data into the plist
    NSArray* bicepPictureData = [self getAllimagesThatStartWith:@"bicep-"];
    NSArray* tricepPictureData = [self getAllimagesThatStartWith:@"tricep-"];
    NSArray* absPictureData = [self …
Run Code Online (Sandbox Code Playgroud)

xcode cocoa-touch objective-c ios

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

NSNumber返回的值不同于原始int

我对objective-c很新,我正在尝试将int转换为NSNumber,以便将其保存到Core-Data中.

我有以下一段代码(索引是一个NSInteger)

- (void) associateOrNotToARoutine:(NSString*)exerciseName associate:(BOOL)associate index:(NSInteger)index

NSLog(@"number w index %d, %d",[NSNumber numberWithInteger:index],index);
Run Code Online (Sandbox Code Playgroud)

然后它回来了

number w index 170413600, 2
Run Code Online (Sandbox Code Playgroud)

我需要一个2的int被翻译成数字2以及所有其他数字被翻译成正确的数字......有谁能告诉我为什么我得到这个转换?我尝试阅读NSNumber手册,但我一无所获

objective-c

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

将图像处理到数据库的最佳方法

这是我第一次设计一个必须考虑图像上传/下载流量以及使用亚马逊网络服务器的网络应用程序.我一直在读书,但我仍然很困惑如何最好地解决我的问题.

我正在构建一个Web应用程序,它将拥有大量的图像流量,我注意到它Amazon RDS比它更便宜Amazon S3.通常在我习惯构建的网站中,我不需要担心本地存储与数据库存储.

通过将所有图片存储在db而不是local(S3)中,我会丢失任何东西吗?

这导致我认为最好将图像存储在Amazon RDS.因此,我想知道:

用户将上传一般4张图片:mainPicThumb,mainPic,secondPicsecondPicThumb.每个人也都有田地namesize.为了提高效率,我应该将每种图片类型放在不同的表格中,还是不应该出问题?我的意思是,如果我将图片分成不同的表格,我会获得更快的访问速度和搜索速度,还是获得任何收益?

大多数用户查询也会返回10个不同的Thumb图像

我正在使用PHP构建我的后端并使用ORM(Propel).

我将不胜感激任何指导/建议.

sql amazon-s3 amazon-web-services amazon-rds

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

NSData图像在内存中的重量与打开的图像一样多吗?

我正从我的iOS应用程序向我的服务器上传功能.我现在正在构建最好的方法,并认为我的方法会遇到麻烦.

我已经超过20张图片,我想用1个请求发送AFmultiparFormDataAFNetworking与文字,是有关该图片的信息.

现在......我知道如何在里面创建NSDictionary大量信息,但从未创建过NSDictionary20个NSData格式的图像或尝试一次上传多张图片.

问题是我不知道NSData图像是否会占用与图像一样多的内存空间.因此,我当时只能做2/3(如果它们是全屏图像,它们不是,但它只是一个任意的测量点)

鉴于我所说的和下面的seudo代码,我可以这样做,还是我的内存不足?否则我会被留下来做1比1.

// for loop that does this 20 times
UIImage* image = [UIImage imageNamed:myExercise.exercisePictureThumb];
NSData * exercisePictureThumb = UIImagePNGRepresentation(image1);

// add to dictionary recursively
Run Code Online (Sandbox Code Playgroud)

cocoa-touch memory-management objective-c ios

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

NSPrivateQueueConcurrencyType未正确保存

调用以下方法以便从我的应用服务器获取信息Core-Data之后填充AFNetworking.

这些信息似乎完全正常,因为当表格更新时,我可以看到新的信息正在更新中UITableView.

现在我遇到的问题是,即使我可以看到信息(从服务器取出后,存储到Core-data中并重新显示在我的内容中UITableView)如果我然后关闭我的应用并重新打开它,信息不再存在了.

似乎信息不是持久的,问题似乎是线程.鉴于如果我删除我的方法中的线程选项一切正常.

我错过了什么?我尝试了大多数我遇到的事情,但似乎无法找到解决方案.

NSManagedObjectContext *childContext = [[NSManagedObjectContext alloc]
                                        initWithConcurrencyType:NSPrivateQueueConcurrencyType];
childContext.parentContext = managedObjectContext;
myModel.context = childContext;


   [childContext performBlock:^{
// ... Lots Controller logic code that then calls the class myModel where all my Core-Data save methods are

    // Sort Wall Pictures
                    if ( [dataHolder[@"verb"] isEqualToString:@"addWallPicture"] ) {
                        data = @{  @"resourceID":dataHolder[@"_id"][@"$id"],
                                   @"resourceName":dataHolder[@"details"][@"resourceName"],
                                   @"author":@{ @"id":dataHolder[@"userId"][@"$id"],
                                                @"username":dataHolder[@"details"][@"authorName"] },
                                   @"likesNumber":@0,
                                   @"likesPeople":@[]
                                   };

                        [myModel saveSocialWall:data date:date verb:dataHolder[@"verb"] code:dataHolder[@"_id"][@"$id"] myUser:myUser];
                        continue;
                    }
[childContext save:&error];
}];
Run Code Online (Sandbox Code Playgroud)

cocoa cocoa-touch core-data objective-c nsmanagedobject

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

如何在Jquery中捕获输入到变量中

基本上我正在尝试在Jquery中创建一个AJAX脚本.但主要问题是我想要定义这样的变量

$(document).ready(function () {
    var u = $('#username');
    var s = $('#server');
    var p = $('#password');

    $('#server').keyup(function () {
         $.post("connect.php", { s: s.value, u: u.value , p: p.value },
             function(data) {
             $('#hol').html('checking connection...' + u.value + " " + p.value + " " + s.value + " " + data);
                             }
                 ); 
   });

});
Run Code Online (Sandbox Code Playgroud)

但是这种方式不起作用......我必须用"this"来定义变量而不是能够事先分配它们,这似乎很奇怪.

有效的代码是

$(document).ready(function () {

    $('#username').keyup(function () {
        var u = this;
            $('#password').keyup(function () {
            var p = this;
                   $('#server').keyup(function () {
                    var s = this; …
Run Code Online (Sandbox Code Playgroud)

javascript ajax jquery

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

脚本被修改为OOP,现在它不起作用

基本上我创建了这个脚本,检查文件是否存在然后创建它.在我有非OOP版本之前,它工作得很好.

现在我修改它成为OOP,不知何故它不起作用我在Apache PHP中出现错误致命错误:在C:\ Program Files(x86)\ Zend\Apache2\htdocs\Proj11 \中调用未定义的函数createFile()第66行.php

我突出显示了第66行与该行的关系 //// THE ERROR LINE BELOW

它出什么问题了???谢谢

<?php 
//DB Config File



$phase = $_GET['phase'];

if(empty ($phase)){
    $phase = new phase1();
    $phase->start();
    } elseif ($phase = 1) {
        $phase = new phase2();
    $phase->stepFunction();
        };

class phase1 {

    function __construct () {
        $dbFile = 'dbconfig.php';
        $step = 0;
        $username = $_GET['username'];
        $password = $_GET['password'];
        $server = $_GET['server'];
        $dbName = $_GET['dbName'];

        $this->step = $step;
        $this->dbFile = $dbFile;
        $this->username = $username;
        $this->password = $password;
        $this->server = $server; …
Run Code Online (Sandbox Code Playgroud)

php

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

UI按钮崩溃应用程序除了(lldb)之外没有错误

我正在处理视图A(createExerciseViewController),它在单击UIButton后添加了视图B(createRoutinePopupViewController).

这部分工作正常,视图添加正常.

然后在视图B(createRoutinePopupViewController)里面我有另一个UIButton.当我点击这个UIButton然后应用程序崩溃,我得到的所有错误是(lldb)并且NSLog没有执行.

但有时候,有时只有在几次崩溃后才能完全执行......

我对iOS开发世界很新,我不知道我做错了什么.

所有UIButton方法都是 strong

有谁知道为什么会发生这种情况?

我认为问题可能在于我如何插入子视图和处理整个子视图?

一个---- createExerciseViewController.m

#import "createExerciseViewController.h"
#import "createExercisePopupViewController.h"
#import "createRoutinePopupViewController.h"

// ....more code

- (IBAction)createRoutine:(id)sender {
    UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Storyboard" bundle:nil];
    [self.view addSubview:[[storyboard instantiateViewControllerWithIdentifier:@"createRoutinePopupView"] view]];
}
Run Code Online (Sandbox Code Playgroud)

这是UIViewController B ---- createRoutinePopupViewController.m

#import "createRoutinePopupViewController.h"
#import "createExerciseViewController.h"
#import "User.h"
#import "Routine.h"

- (IBAction)createRoutine:(UIButton *)sender {
    NSLog(@"Please dont crash");
  }
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

cocoa objective-c ios

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

如何使AFNetworking显示纯HTTP响应错误

我正在尝试从我的应用程序向我的PHP服务器端程序发送一些信息.

当我尝试使用PHP ArrayUnitTest 发送相同的数据时,它可以工作.所以我不知道为什么AFNeworking认为这不起作用.

为了调试问题,我需要能够看到完整的HTTP消息.

我怎么能看到普通(NON-JSON)错误(HTTP响应)?

我虽然operation.JSONReadingOptions = NSJSONReadingAllowFragments;可以做到这一点,但是没有用,或者我没有将它放在正确的位置

谢谢

我的错误:

2013-06-05 10:52:37.990 iGym[9407:c07]Request failed with error: Error Domain=NSCocoaErrorDomain Code=3840 "The operation couldn’t be completed. (Cocoa error 3840.)" (Garbage at end.) UserInfo=0x96db4d0 {NSDebugDescription=Garbage at end.}, {
NSDebugDescription = "Garbage at end.";
Run Code Online (Sandbox Code Playgroud)

}

我的Objective-c代码

User* myUser = [self getCurrentUser];
    NSURL *url = [[NSURL alloc]initWithString:@"http://192.168.1.64/"];
    AFHTTPClient *httpClient = [[AFHTTPClient alloc]initWithBaseURL:url];

    NSDictionary *params = @{@"register":@"true",
                             @"email":@"as234d",
                             @"userID":(myUser.idUserExternal ? myUser.idUserExternal: @"NO"),
                             @"userDetails":@{@"needUsername":(myUser.nickname ? @"NO": @"YES"),
                                              @"username":( myUser.nickname  ? myUser.nickname : …
Run Code Online (Sandbox Code Playgroud)

cocoa objective-c ios afnetworking

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