小编swi*_*ode的帖子

如何在不删除数据库的情况下更新在C#中对SampleData Seed所做的更改?

我是Entity Framework和MVC 4的新手,我一直在关注微软网站上的音乐商店应用教程(对我的需求进行了一些调整).我有一个使用Code First创建的远程数据库.这包括一个SampleData包含有关歌曲,艺术家,流派等信息的类......并且在创建所有表格后,它将使用此填充数据库.这工作正常.

但是,现在我已经对我的SampleData类进行了一些更改,并且我希望它使用该数据更新数据库(删除已删除的行,插入已添加的新行等等)而不删除数据库.我的数据库管理员不允许我运行DROP命令,因此使用DropCreateDatabaseAlways我的Seed不会起作用.我已在本地完成此操作,它可以正常工作,删除数据库,再次使用表(模型相同)和新的示例数据创建它.

有没有办法这样做,而不必每次我想更新样本数据时删除数据库?也许代码优先迁移(即使我的模型没有改变,只是数据)?

c# asp.net-mvc entity-framework dbcontext

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

如何在放松segue中找出哪个segue称为目的地?

我有一个放松的segue WishlistVC(一个列出所有愿望清单的VC).现在,这个VC允许用户点击心愿单,如果它是空的,则调出EditWishlistItemsVC,这样就可以选择要放入心愿单中的项目.WishlistVC还有另一个按钮,允许用户创建新的愿望清单,然后调用,EditWishlistItems以便用户可以将项目添加到新的愿望清单.这两者都是同一VC的不同段.

当我放松时,我想知道是谁调用了EditWishlistItemsVC,即我在unwind segue中执行了哪个segue.如果它来自addItemsToWishlist模态segue,那么我想将心愿单添加到核心数据,如果它来自editWishlistItems模态segue,我想编辑愿望清单中的CD项目.

当我放松时,有什么方法可以知道这些信息吗?

objective-c uiviewcontroller ios segue

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

禁用UITableViewController的闪烁滚动条?

我有一个UITableViewController,当我从其中一个单元格上的推动动作segue返回时,我想让它不闪动垂直滚动条(弹出视图控制器并返回到UITableViewController).

似乎,如果桌子有很多行(我的大约有20个,每个高度为60个点,比屏幕大),当我回去时,它总是闪烁一次垂直滚动条以显示它在桌子中的位置.但是,我不希望这种情况发生,但我确实希望保持滚动条,以便在用户滚动时显示.因此,完全禁用它不是一种选择.

这是默认行为吗?我可以暂时禁用它吗?

scroll objective-c uitableview ios

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

如何在JQuery中等待AJAX​​请求完成?

我有4个不同的JQuery AJAX函数,每个函数从last.fm API获取不同的信息.此信息必须在工具提示中连接在一起.

这些是我的4个功能:

  1. 获取给定曲目和艺术家的专辑.返回曲目名称.
  2. 获取艺术家图片.返回1个URL.
  3. 获取艺术家的前3张专辑.返回3个字符串的数组.
  4. 获得给定艺术家的第一首曲目.返回曲目名称.

 

var getTrackAlbum = function(track, artist) {
    $.getJSON(
      settings.PHP_REQUEST_URL,
      {
        method: "track.getInfo",
        api_key : settings.LASTFM_APIKEY,
        track   : track,
        artist  : artist,
        format  : "json"
      },
      function(data) {
        return data.track.album.title;
      });
}

var getArtistImage = function(artist) {
    var options = {
      artSize: 'medium',
      noart: 'images/noartwork.gif',
    }

    if(options.artSize == 'small'){imgSize = 0}
    if(options.artSize == 'medium'){imgSize = 1}
    if(options.artSize == 'large'){imgSize = 2}

    $.getJSON(
      settings.PHP_REQUEST_URL,
      {
        method: "artist.getInfo",
        api_key : settings.LASTFM_APIKEY,
        artist  : artist,
        format …
Run Code Online (Sandbox Code Playgroud)

ajax jquery

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

如何在iOS中保存/恢复视图状态?

我正在使用ECSlidingViewController创建一个滑出菜单(如Facebook).

我有这个故事板:

故事板

如你所见,我有一个导航控制器.我有一个主要问题,即使是制作该控制器的用户创建的官方演示也没有实现:它在更改视图然后返回时不会保存视图控制器的状态.

因此,例如,当我打开应用程序时,橙色视图将始终是第一个视图viewDidLoad.然后我切换到绿色视图(第二个),然后单击按钮.它将该视图的背景颜色更改为红色.然后,如果我回到我的第一个视图,然后回到第二个视图,后者的背景颜色再次变为绿色.我希望它保持红色.

这是我切换视图的代码(in MenuViewController):

(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    // Get identifier from selected
    NSString *identifier = [NSString stringWithFormat:@"%@", [self.menu objectAtIndex:indexPath.row]];

    // Add the selected view to the top view
    UIViewController *newTopVC = [self.storyboard instantiateViewControllerWithIdentifier:identifier];

    // Present it 
    [self.slidingViewController anchorTopViewOffScreenTo:ECRight animations:nil onComplete:^{        
        CGRect frame = self.slidingViewController.topViewController.view.frame;
        self.slidingViewController.topViewController = newTopVC;
        self.slidingViewController.topViewController.view.frame = frame;
        [self.slidingViewController resetTopView];

    }];
}
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,它始终每次都实例化一个新的VC.我希望它保存VC,如果没有创建它,则创建新的,然后显示一个.如果用户返回到已创建的视图,则应该只恢复已保存的视图,而不是创建新视图.

我已经把它Init View Controller放在导航控制器中,现在我该如何为我的视图实现这种保存/恢复机制?我希望它与2,3,4等一起工作......尽可能多的观点.

谢谢.

objective-c uiviewcontroller uinavigationcontroller ios

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

尝试在视图不在窗口层次结构中的VC上显示模态VC

我的故事板看起来像这样:

故事板

这是它的工作原理:在其.m文件中InitialSlidingViewController实例化导航VC topViewController,如下所示:

 -(void)viewDidLoad {
  [super viewDidLoad];

  self.topViewController = [self.storyboard instantiateViewControllerWithIdentifier:@"Navigation"];

}
Run Code Online (Sandbox Code Playgroud)

导航VC实例化后,它会创建基础菜单并将其设置为underLeftVC.这是使用ECSlidingViewController.这将创建一个使用平移手势的滑动菜单,类似于Facebook.

NavigationVC的rootVC是我的ItemsCDTVC.当我点击+按钮时,它会弹出一个动作表,允许我从相机拍摄照片或从照片库中选择.但是,我希望它以模态方式转换为ManageItemVC并设置我刚刚选择/拍摄到UIImageView的图片.当我尝试呈现时,它会抛出以下错误:

Warning: Attempt to present <ManageItemViewController: 0x81d52a0> on <InitialSlidingViewController: 0x8122ce0> whose view is not in the window hierarchy!
Run Code Online (Sandbox Code Playgroud)

这是真的,因为InitialSlidingVC不在屏幕上,ItemCDTVC是,但我该如何解决这个问题呢?

我在我的故事板中设置了模态类型segue,其中包含来自底部灵活空间的标识符(当点击时,它没有做任何事情,所以我选择了它来创建视觉segue).这是我在ItemCDTVC中的segue代码:

 -(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
{
    // let's get the edited image
    UIImage *image = info[UIImagePickerControllerEditedImage];
    // but if for some reason we disable editing in the future, this is our safeguard
    if(!image) image = info[UIImagePickerControllerOriginalImage];
    if(image) {
        self.pictureImageView.image = image;
        [self performSegueWithIdentifier:@"addItemSegue" …
Run Code Online (Sandbox Code Playgroud)

objective-c uiimagepickercontroller uinavigationcontroller modalviewcontroller segue

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

用于类消息的接收者'SMClient'是前向声明

我正在尝试将StackMob添加到我的项目中.它表示SMClient在将SDK拖动到项目后创建实例,选中"为...创建组"并添加到目标.我按照这些步骤.

但是,当我创建我的SMClientSMCoreDataStore实例时,它给了我一个错误Receiver 'SMClient' for class message is a forward declaration和相同的错误SMCoreDataStore.这是我的代码:

#import <UIKit/UIKit.h>
#import <CoreData/CoreData.h>

@class SMClient;
@class SMCoreDataStore;

@interface AppDelegate : UIResponder <UIApplicationDelegate>

@property (strong, nonatomic) UIWindow *window;
@property (strong, nonatomic) NSManagedObjectModel *managedObjectModel;
@property (strong, nonatomic) SMCoreDataStore *coreDataStore;
@property (strong, nonatomic) SMClient *client;

@end
Run Code Online (Sandbox Code Playgroud)

我的一部分.m:

#import "AppDelegate.h"
#import "StackMob.h"

@implementation AppDelegate

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    self.client = [[SMClient alloc] initWithAPIVersion:@"0" publicKey:@"YOUR_PUBLIC_KEY"];
    self.coreDataStore …
Run Code Online (Sandbox Code Playgroud)

objective-c forward-declaration ios appdelegate

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

如何使用LINQ在C#中解析XML文件?

我有这个XML文件:

<?xml version="1.0" encoding="utf-8"?>
<NewSounds>
    <Artists>
      <Artist>Avril Lavigne</Artist>
      <Artist>Bob Marley</Artist>
      <Artist>Coldplay</Artist>
    </Artists>

  <Genres>
    <Genre>Rock</Genre>    
    <Genre>Jazz</Genre>
    <Genre>Metal</Genre>
  </Genres>
</NewSounds>
Run Code Online (Sandbox Code Playgroud)

如何在LINQ中解析这个简单的XML文件?我对LINQ知之甚少,这就是我所拥有的:

var artists = xml.Descendants("Artists")
                    .Elements("Artist")
                    .Select(a => new Artist {
                        Name = a.Element("Artist").Value
                    }).ToArray();
Run Code Online (Sandbox Code Playgroud)

问题是,它会System.NullReferenceException: Object reference not set to an instance of an object..Select部件上引发错误(可能是因为它无法找到值?).

我想遍历XML并获取<Artist><Genre>标签内的相关部分.

c# xml linq asp.net asp.net-mvc

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