我真的需要一些帮助!
我试图将数组从一个视图控制器传递到另一个视图控制器.我认为后者是一个"孩子"视图控制器?
我的代码如下:
MainViewController.h:
#import <UIKit/UIKit.h>
#import <AudioToolbox/AudioToolbox.h>
#import <AVFoundation/AVFoundation.h>
@interface HelloWorldIOS4ViewController : UIViewController <UITableViewDelegate, UITableViewDataSource, UITextFieldDelegate, AVAudioPlayerDelegate> {
NSMutableArray *countProductCode;
UIPopoverController *detailViewPopover;
}
@property (nonatomic, retain) NSMutableArray *countProductCode;
@property (nonatomic, retain) UIPopoverController *detailViewPopover;
- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data;
...
@end
Run Code Online (Sandbox Code Playgroud)
MainViewController.m
#import "HelloWorldIOS4ViewController.h"
#import "JSON.h"
#import "PopoverContentViewController.h"
@implementation HelloWorldIOS4ViewController
@synthesize detailViewPopover;
@synthesize countProductCode;
- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data
{
NSString *jsonString = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
NSDictionary *results = [jsonString JSONValue];
NSLog(@"RETURN: %@", results);
[countProductCode removeAllObjects];
NSArray *products = …Run Code Online (Sandbox Code Playgroud) 我在Master-Detail-Application上创建了一个新的iPhone项目.由于我之前需要登录,我在故事板上添加了一个新的ViewController,勾选了" 是初始视图控制器 "并将新创建的类LoginViewController分配给此ViewController.
此外,但不相关(在我看来),我创建了一个segue并将其从ViewController连接到NavigationController(Master-Detail-Template).
该AppDelegate.m改为在启动时推出新的控制器:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
// Override point for customization after application launch.
/* // Old Master-Detail-View-Controller
UINavigationController *navigationController = (UINavigationController *)self.window.rootViewController;
MasterViewController *controller = (MasterViewController *)navigationController.topViewController;
controller.managedObjectContext = self.managedObjectContext;
*/
(LoginViewController *)self.window.rootViewController;
return YES;
}
Run Code Online (Sandbox Code Playgroud)
这将最终出现错误:
*** Terminating app due to uncaught exception 'NSInternalInconsistencyException',
reason: '-[UICollectionViewController loadView] loaded the "Qn5-Rj-iPA-view-IRE-eP
-ILZ" nib but didn't get a UICollectionView.'
Run Code Online (Sandbox Code Playgroud)
我也试过这个:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
// …Run Code Online (Sandbox Code Playgroud) 在此应用程序中启动纵向模式.

.
代码段
NSInteger heightOne;
NSInteger heightTwo;
NSInteger imgV;
CGRect Bounds = [[UIScreen mainScreen] bounds];
if (Bounds.size.height == 568) {
// code for 4-inch screen
heightOne = 480+38;
heightTwo = 240+38;//370
imgV = 360;
} else {
// code for 3.5-inch screen
heightOne = 480;
heightTwo = 240;//330
imgV = 310;
}
UIView *firstView = [[UIView alloc] initWithFrame:CGRectMake(00, 00,320,heightOne)];
firstView.opaque = NO;
firstView.tag = 1000;
firstView.backgroundColor = [[UIColor blackColor] colorWithAlphaComponent:0.5f];
[self.view addSubview:firstView];
UIImageView *img = [[UIImageView alloc]initWithFrame:CGRectMake(250,imgV,50,50)];
img.image = [UIImage …Run Code Online (Sandbox Code Playgroud) 我不是Interface Builder的常规用户.我正在尝试使用a创建一个新的UIViewController类xib.比方说,我创建了一个名为控制器,myViewController当我创建,Xcode创建3个文件,myViewController.h,myViewController.m和myViewController.xib,但xib只包含一个视图.它不应该包含viewController吗?
无论如何,我正在启动那个视图控制器init(是的,我试过initWithNibName),问题是它自己的委托方法喜欢viewDidAppear或viewDidLoad不在它自己的类上触发.
是不是应该在myViewController.xib和之间有代理链接myViewController.m?怎么了?
Xcode 6.2没有"是初始视图控制器"选项.
Xcode 6.1

Xcode 6.2

任何的想法?
我有一个带有按钮的viewController,允许用户从URL下载文件.为了保持我的代码清洁,我创建了一个从我的视图中调用的下载类.它工作正常但现在我想为用户提供有关下载的一些UI提示.
假设我有一个标签,我想在下载结束后将其文本更改为"已下载".应该怎么做?
这是我的代码:
FileViewController
@IBOutlet weak var downloadLbl: UILabel!
func downloadFile(sender:UIButton!)
{
fileDownloader().download_zip(datastring, destination: path, name: naming, fileis: self.fileId)
}
Run Code Online (Sandbox Code Playgroud)
(这只是重要的部分)
然后我将我的下载功能放在一个单独的类文件中,然后启动一个DownloadTaskSession并使用以下委托来观察下载完成
func URLSession(session: NSURLSession, downloadTask: NSURLSessionDownloadTask, didFinishDownloadingToURL location: NSURL) {
println("session \(session) has finished the download task \(downloadTask) of URL \(location).")
FileViewController().downloadLbl.text = "downloaded"
}
Run Code Online (Sandbox Code Playgroud)
最后一行:FileViewController().downloadLbl.text = "downloaded"返回错误:致命错误:在展开Optional值时意外发现nil.
有人可以帮忙吗?
结论
这两个提议的解决方案在创建通信之间的通信时都有用,但是我去了通知解决方案,因为在我的情况下我必须更新UI以及后台线程进展并且使用协议不能按预期工作.进行了通信,但即使在使用dispatch_async方法推回主线程上的更改之后,更新UI仍无法正常工作.
使用通知系统有帮助,因为它更容易实现,管理和用于UI修改.
我一直在按照教程添加为Swift 2编写的自定义转换:但我的自定义转换不会替换现有转换.
我已经阅读了很多关于这个问题的不同帖子,但没有一个解决方案对我有用.
我启动了一个新应用程序,并将初始ViewController放在导航控制器中.我创建了第二个视图,并在故事板上用segue将它们链接在一起.segue工作成功,我可以从第二个屏幕看到我在打印语句中传输的数据,但屏幕显示为黑色.
WelcomeScreen:
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if segue.identifier == "segueToTraits"{
if let gender = self.selectedGender{
let traitVC = segue.destinationViewController as? TraitViewController
traitVC!.gender = gender
}
}
}
func sendGenderToTraitsView(gender : String?){
performSegueWithIdentifier("segueToTraits", sender: self)
}
@IBAction func button1(sender: UIButton) {
selectedGender = boyGender
self.sendGenderToTraitsView(selectedGender)
}
@IBAction func button2(sender: UIButton) {
selectedGender = girlGender
self.sendGenderToTraitsView(selectedGender)
}
Run Code Online (Sandbox Code Playgroud)
故事板: 链接到我的故事板的图像 我的segue设置如下: 链接到我的segue信息的图像
另外,我的viewControllers名为WelcomeViewController和TraitViewController.他们有来自welcomeVC和traitsVC的故事板id.
任何帮助都会非常感激.如果您需要任何其他信息,请与我们联系.
我在解雇VC时有一点问题。
我的项目有2个Viewcontroller。Viewcontroller A和ViewcontrollerB。
Viewcontroller A有一个按钮。如果我按此按钮,第二个ViewController B弹出。
第二个ViewController(B)有一个按钮。如果我单击此按钮,此操作将开始:
@IBAction func dismiss(_ sender: UIBarButtonItem) {
self.presentedViewController?.dismiss(animated: true, completion: nil)
}
Run Code Online (Sandbox Code Playgroud)
该操作实际上应该关闭Viewcontroller,并应再次向我显示ViewcontrollerA。
但是,如果我按下此按钮,则什么也不会发生。
我忘了什么吗?
我正在开发一个项目,某个地方需要ViewControler使用segue或storyboard 将编辑过的图像发送给另一个.
首先要了解一些要点.
ViewController我发送其使用配置的图像Objective C.ViewController使用SwiftLang 配置的图像.问题:
在Objective .m文件中导入的Swift类是不可见的,因此它允许我创建其对象以引用其成员.
我试过了:
// here i am not able to create SwiftVC class object so i can pass image further
SwfitVC *object = [self.storyboard instantiateViewControllerWithIdentifier:@"VC_Identifire"];
object.image = image;
[self.navigationController pushViewController:object animated:YES];
Run Code Online (Sandbox Code Playgroud)
导入.m文件后,SwftVC类不可见.
请看看.谢谢.
viewcontroller ×10
ios ×8
swift ×4
iphone ×3
swift3 ×2
ipad ×1
launch ×1
nsarray ×1
objective-c ×1
screen ×1
storyboard ×1
transition ×1
view ×1
xcode ×1