当我这样做时,从编译器获得投诉
class ViewController: UIViewController {
var delegate : AppDelegate
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
//self.appDelegate = UIApplication.sharedApplication().delegate;
}
@IBAction func getData(sender : AnyObject) {
}
@IBAction func LogOut(sender : AnyObject) {
}
}
Run Code Online (Sandbox Code Playgroud)
但是,如果我只是添加?在AppDelegate的末尾,如下所示,错误消失了.
class ViewController: UIViewController {
var delegate : AppDelegate?
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
//self.appDelegate = UIApplication.sharedApplication().delegate; …
Run Code Online (Sandbox Code Playgroud) 我试图Double?
从Objective-C 访问Swift类的属性.
class BusinessDetailViewController: UIViewController {
var lat : Double?
var lon : Double?
// Other elements...
}
Run Code Online (Sandbox Code Playgroud)
在另一个视图控制器中,我试图访问lat
如下:
#import "i5km-Swift.h"
@interface ViewController ()
@property (strong, nonatomic) BusinessDetailViewController *businessDetailViewController;
@end
@implementation ViewController
- (void)viewDidLoad
{
[super viewDidLoad];
self.businessDetailViewController = [[BusinessDetailViewController alloc] initWithNibName:@"BusinessDetailViewController" bundle:nil];
self.businessDetailViewController.lat = businessArray[1]; /* THIS GIVES ME AN ERROR */
}
Run Code Online (Sandbox Code Playgroud)
我正在接受
在'BusinessDetailViewController*'类型的对象上找不到属性'lat'
为什么我不能访问这个属性?我错过了什么?
开始学习核心数据和dispatch_async.有一段代码可以从数据集中获取图像的url,并将其设置为核心数据的模型,如下所示
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH, 0), ^{
NSString *urlString = [[[photoDictionary valueForKey:@"images"] objectAtIndex:0] valueForKey:@"url"];
NSData *imageData = [NSData dataWithContentsOfURL:[NSURL URLWithString:urlString]];
dispatch_async(dispatch_get_main_queue(), ^{
[photoModel setValue:imageData forKey:@"photoImageData"];
Run Code Online (Sandbox Code Playgroud)
有人可以向我解释为什么我们使用dispatch_get_global_queue
外部dispatch_async和dispatch_get_main_queue
内部dispatch_async.
我的一个名为Message.m的类正在发布一个带有对象的通知,sentObject
如下所示
NSDictionary *sentObject = [NSDictionary dictionaryWithObjectsAndKeys:draftData.arr,@"data", nil];
//Post notification to inform a receiver to reload data
[[NSNotificationCenter defaultCenter] postNotificationName:@"reloadDuringSave" object:self userInfo:sentObject];
Run Code Online (Sandbox Code Playgroud)
DraftData.m将成为捕获通知的接收者,如下所示
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(dataReloaded:)
name:@"reloadDuringSave"
object:nil];
Run Code Online (Sandbox Code Playgroud)
对于发布通知,userInfo
可以是nil
或可以是object
(如本例中的sentObject
类型NSDictionary
).
===> 问:什么都别params用于在object
在addObserver
方法.它可以不是零,它们是什么......
这可能是一个愚蠢的问题,但我需要为自己提出并清楚这一点.
要将块提交到队列以供执行,请使用函数dispatch_sync
和dispatch_async
.它们都将队列和块作为参数.dispatch_async
立即返回,异步运行块,同时dispatch_sync
执行块直到提供的块返回.以下是一些情况:
dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0ul);
dispatch_async(queue, ^{
[self goDoSomethingLongAndInvolved];
dispatch_async(queue, ^{
NSLog(@"this is statement1");
});
});
Run Code Online (Sandbox Code Playgroud)
dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0ul);
dispatch_sync(queue, ^{
[self goDoSomethingLongAndInvolved];
dispatch_sync(queue, ^{
NSLog(@"this is statement1");
});
});
Run Code Online (Sandbox Code Playgroud)
{
[super viewDidLoad];
dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0ul);
dispatch_async(queue, ^{
[self goDoSomethingLongAndInvolved];
dispatch_sync(queue, ^{
NSLog(@"this is statement1");
});
});
Run Code Online (Sandbox Code Playgroud)
{
[super viewDidLoad];
dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0ul);
dispatch_sync(queue, ^{
[self goDoSomethingLongAndInvolved];
dispatch_async(queue, ^{
NSLog(@"this …
Run Code Online (Sandbox Code Playgroud) iphone objective-c grand-central-dispatch ios objective-c-blocks
我不确定现在问这个问题是否合适.我在表视图上使用Xcode 5(预览版).现在的问题是,如果我的表视图被选中,那么group
我在第一个单元格和表格的上边缘之间存在间隙.
适用于uitable视图委托的代码如下
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
return 8;
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *simpleTableIdentifier = @"SimpleTableItem";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:simpleTableIdentifier];
if (cell == nil) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:simpleTableIdentifier];
}
cell.textLabel.text = [NSString stringWithFormat:@"cell %d",indexPath.row];
return cell;
}
Run Code Online (Sandbox Code Playgroud)
当我选择group
xib 时,下面的图片
但是,如果我切换到plain
,表是正常的
对这种情况有任何想法.我用Google搜索,但似乎没有任何东西.欢迎任何帮助.
在Plist中,其中一个设置是
应用程序不在后台运行-------> YES
难道是指应用程序在后台运行.之后应用程序会发生什么......
我的AppDelegate类已注册特定通知,如下所示
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(applyThemeA:)
name:@"ThemeA"
object:nil];
}
Run Code Online (Sandbox Code Playgroud)
并且applyThemeA做(只是不多)
- (void)appleThemeA:(NSNotification*)notification {
NSLog(@"apply themeA");
}
Run Code Online (Sandbox Code Playgroud)
我将removeObserver
在applicationWillTerminate
,但不能确定它是它的一个好办法.
题
这是放置此方法的好地方吗?
我只是想确保我做得对.如果问题不合适,请不要投票.请告诉我.谢谢
我正在努力ZBarReader
并得到一个错误
ZBarReaderView
Interface Builder文件中的未知类
[UIView setReaderDelegate:]:无法识别的选择器发送到实例0x6859f20
请查看此处或下方的附加图像,以便您可以了解到目前为止我正在做的事情: -
在故事板中,我有一个视图,它的自定义类是ZBarReadView
.我也用IBOutlet
头文件连接它.在m文件中,我这样做
viewReader.readerDelegate = self;
在此之后显示错误.
任何人都可以指出我搞砸了......
我可以通过使用协议和委托来做到这一点,但我想尝试使用NSNotification
我的任务是NSMutableArray
从一个视图向另一个视图发送一个via通知.有可能吗?
[[NSNotificationCenter defaultCenter] postNotificationName:@"reloadData" object:myArray];
Run Code Online (Sandbox Code Playgroud)
然后,在接收器中,我如何获得传递的myArray.我在阅读和困惑的userInfo
和object
通知的对象.
请就此问题向我提出建议.