我是Entity Framework和MVC 4的新手,我一直在关注微软网站上的音乐商店应用教程(对我的需求进行了一些调整).我有一个使用Code First创建的远程数据库.这包括一个SampleData包含有关歌曲,艺术家,流派等信息的类......并且在创建所有表格后,它将使用此填充数据库.这工作正常.
但是,现在我已经对我的SampleData类进行了一些更改,并且我希望它使用该数据更新数据库(删除已删除的行,插入已添加的新行等等)而不删除数据库.我的数据库管理员不允许我运行DROP命令,因此使用DropCreateDatabaseAlways我的Seed不会起作用.我已在本地完成此操作,它可以正常工作,删除数据库,再次使用表(模型相同)和新的示例数据创建它.
有没有办法这样做,而不必每次我想更新样本数据时删除数据库?也许代码优先迁移(即使我的模型没有改变,只是数据)?
我有一个放松的segue WishlistVC(一个列出所有愿望清单的VC).现在,这个VC允许用户点击心愿单,如果它是空的,则调出EditWishlistItemsVC,这样就可以选择要放入心愿单中的项目.WishlistVC还有另一个按钮,允许用户创建新的愿望清单,然后调用,EditWishlistItems以便用户可以将项目添加到新的愿望清单.这两者都是同一VC的不同段.
当我放松时,我想知道是谁调用了EditWishlistItemsVC,即我在unwind segue中执行了哪个segue.如果它来自addItemsToWishlist模态segue,那么我想将心愿单添加到核心数据,如果它来自editWishlistItems模态segue,我想编辑愿望清单中的CD项目.
当我放松时,有什么方法可以知道这些信息吗?
我有一个UITableViewController,当我从其中一个单元格上的推动动作segue返回时,我想让它不闪动垂直滚动条(弹出视图控制器并返回到UITableViewController).
似乎,如果桌子有很多行(我的大约有20个,每个高度为60个点,比屏幕大),当我回去时,它总是闪烁一次垂直滚动条以显示它在桌子中的位置.但是,我不希望这种情况发生,但我确实希望保持滚动条,以便在用户滚动时显示.因此,完全禁用它不是一种选择.
这是默认行为吗?我可以暂时禁用它吗?
我有4个不同的JQuery AJAX函数,每个函数从last.fm API获取不同的信息.此信息必须在工具提示中连接在一起.
这些是我的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) 我正在使用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等一起工作......尽可能多的观点.
谢谢.
我的故事板看起来像这样:

这是它的工作原理:在其.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
我正在尝试将StackMob添加到我的项目中.它表示SMClient在将SDK拖动到项目后创建实例,选中"为...创建组"并添加到目标.我按照这些步骤.
但是,当我创建我的SMClient和SMCoreDataStore实例时,它给了我一个错误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) 我有这个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>标签内的相关部分.
objective-c ×5
ios ×4
asp.net-mvc ×2
c# ×2
segue ×2
ajax ×1
appdelegate ×1
asp.net ×1
dbcontext ×1
jquery ×1
linq ×1
scroll ×1
uitableview ×1
xml ×1