我试图通过使用AFNetworking 2.0和"AFNetworkReachabilityManager"来确定用户是否连接到互联网,但它似乎无法正常工作.即使互联网已关闭,也始终返回有效的互联网连接.这是我的代码:
-(BOOL)connected {
__block BOOL reachable;
[[AFNetworkReachabilityManager sharedManager] setReachabilityStatusChangeBlock:^(AFNetworkReachabilityStatus status) {
switch (status) {
case AFNetworkReachabilityStatusNotReachable:
NSLog(@"No Internet Connection");
reachable = NO;
break;
case AFNetworkReachabilityStatusReachableViaWiFi:
NSLog(@"WIFI");
reachable = YES;
break;
case AFNetworkReachabilityStatusReachableViaWWAN:
NSLog(@"3G");
reachable = YES;
break;
default:
NSLog(@"Unkown network status");
reachable = NO;
break;
[[AFNetworkReachabilityManager sharedManager] startMonitoring];
}
}];
return reachable;
}
Run Code Online (Sandbox Code Playgroud)
从我的viewDidLoad方法调用此方法.我的代码有问题吗,因为它不起作用?
我对在哪里设置我的核心数据堆栈感到有点困惑.在Appdelegate中或使用UIManagedDocument的共享实例,在这里描述?:http://adevelopingstory.com/blog/2012/03/core-data-with-a-single-shared-uimanageddocument.html
现在我通过我的AppDelegate中的核心数据堆栈设置,我在视图控制器之间传递我的MOC.但是,迁移到UIManagedDocument并创建共享实例会更好吗,所以我不必一直通过MOC?还因为它更新?
Swift中的lazy属性是否相当于在Objective C中使用延迟加载模式覆盖getter?
我很难用我的CocoaPods将RestKit安装到我的项目中.我得到了未找到的错误.
我的Pods.xcconfig看起来像这样:
GCC_PREPROCESSOR_DEFINITIONS = $(继承)COCOAPODS = 1 HEADER_SEARCH_PATHS ="$ {PODS_ROOT}/Headers""$ {PODS_ROOT}/Headers/AFNetworking""$ {PODS_ROOT}/Headers/ISO8601DateFormatterValueTransformer""$ {PODS_ROOT}/Headers/RKValueTransformers"" $ {PODS_ROOT}/Headers/RestKit""$ {PODS_ROOT}/Headers/RestKit/CoreData""$ {PODS_ROOT}/Headers/RestKit/Network""$ {PODS_ROOT}/Headers/RestKit/ObjectMapping""$ {PODS_ROOT}/Headers/RestKit /支持""$ {PODS_ROOT}/Headers/SDWebImage""$ {PODS_ROOT}/Headers/SOCKit""$ {PODS_ROOT}/Headers/SSKeychain""$ {PODS_ROOT}/Headers/SVProgressHUD""$ { PODS_ROOT}/Headers/TTTAttributedLabel""$ {PODS_ROOT}/Headers/TransitionKit""$ {PODS_ROOT}/Headers/Vendor/LibComponentLogging/Core""$ {PODS_ROOT}/Headers/Vendor/LibComponentLogging/NSLog"OTHER_CFLAGS = $(继承) )-isystem"$ {PODS_ROOT}/Headers"-isystem"$ {PODS_ROOT}/Headers/AFNetworking"-isystem"$ {PODS_ROOT}/Headers/ISO8601DateFormatterValueTransformer"-isystem"$ {PODS_ROOT}/Headers/RKValueTransformers"-isystem" $ {POD S_ROOT}/Headers/RestKit"-isystem"$ {PODS_ROOT}/Headers/RestKit/CoreData"-isystem"$ {PODS_ROOT}/Headers/RestKit/Network"-isystem"$ {PODS_ROOT}/Headers/RestKit/ObjectMapping" - isystem"$ {PODS_ROOT}/Headers/RestKit/Support"-isystem"$ {PODS_ROOT}/Headers/SDWebImage"-isystem"$ {PODS_ROOT}/Headers/SOCKit"-isystem"$ {PODS_ROOT}/Headers/SSKeychain" - isystem"$ {PODS_ROOT}/Headers/SVProgressHUD"-isystem"$ {PODS_ROOT}/Headers/TTTAttributedLabel"-isystem"$ {PODS_ROOT}/Headers/TransitionKit"-isystem"$ {PODS_ROOT}/Headers/Vendor/LibComponentLogging/Core "-isystem"$ {PODS_ROOT}/Headers/Vendor/LibComponentLogging/NSLog"OTHER_LDFLAGS = -ObjC -framework CFNetwork -framework CoreData -framework CoreGraphics -framework CoreText -framework Foundation -framework ImageIO -framework MobileCoreServices -framework QuartzCore -framework Security -framework SystemConfiguration PODS_ROOT = …
我应该使用weakSelf,在以下代码中调用self时snippit(self.searchResults):
[self.restaurants enumerateObjectsUsingBlock:^(Restaurant *restaurant, NSUInteger idx, BOOL *stop) {
if ([scope isEqualToString:@"All"] || [restaurant.name isEqualToString:scope]) {
NSRange range = [restaurant.name rangeOfString:searchText
options:(NSCaseInsensitiveSearch | NSDiacriticInsensitiveSearch)];
if (range.length > 0) {
[self.searchResults addObject:restaurant];
}
}
}];
Run Code Online (Sandbox Code Playgroud)
当我在块中调用self.searchResults时,我应该引用弱吗?
我的应用程序中有一个名称textfield,其中firstname可能是中间名,也可以是lastname.现在我想用第一个空格分隔这些组件,即firstname和middlename/lastname之间的空格,所以我可以将它放入我的模型中.
例如:
Textfield Text:John D. Sowers
字符串1:约翰
字符串2:D.播种机.
我尝试过使用[[self componentsSeparatedByCharactersInSet:[NSCharacterSet whitespaceCharacterSet]] firstObject]; & [[self componentsSeparatedByCharactersInSet:[NSCharacterSet whitespaceCharacterSet]] lastObject];
但是这些只有在没有中间名的情况下才有效.因为它获取第一个和最后一个对象,并且中间名被忽略.那么我将如何实现我想要的目标呢?
我在产品实体和购物车实体之间存在一对多关系。
用户需要有机会从购物车中删除产品。
我像这样获取产品:
// Fetch request for "Product":
NSFetchRequest *fetchRequest = [NSFetchRequest fetchRequestWithEntityName:@"Product"];
// Fetch only products for the cart:
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"inCart = %@", self.cart];
[fetchRequest setPredicate:predicate];
NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"navn" ascending:YES];
[fetchRequest setSortDescriptors:@[sortDescriptor]];
self.fetchedResultsController = [[NSFetchedResultsController alloc] initWithFetchRequest:fetchRequest managedObjectContext:_theManagedObjectContext sectionNameKeyPath:nil cacheName:nil];
_fetchedResultsController.delegate = self;
Run Code Online (Sandbox Code Playgroud)
并填充表格视图:
Product *prod = (Product *)[self.fetchedResultsController objectAtIndexPath:indexPath];
Run Code Online (Sandbox Code Playgroud)
在tableview中我有一个按钮,当你点击它时,当前产品应该被删除......我的“删除产品方法”中有以下代码
-(void)RemoveFromCart:(UIButton *)sender {
UITableViewCell *cell = (UITableViewCell *)sender.superview;
NSIndexPath *indexPath = [_Table indexPathForCell:cell];
Product *prod = (Product *)[self.fetchedResultsController objectAtIndexPath:indexPath];
/*_cart is retrieved …Run Code Online (Sandbox Code Playgroud) 由于可可库(Foundation,UIKit,CoreData等)是用Objective-C编写的,而不是转换为Swift(还是?),我们仍然可以获得Swift提供的性能优势,当在Swift中调用这些可可库时使用libaries以及Objective-C(直到现在一直如此)?
我在班上定义了以下块:
typedef BOOL (^AlertViewShouldEnableFirstOtherButtonHandler)(AlertView *alertView);
Run Code Online (Sandbox Code Playgroud)
我在我的viewcontroller中调用了这个块,并返回一个布尔值,正如块所期望的那样.
self.alertView.shouldEnableFirstOtherButtonHandler = ^BOOL (AlertView *alertView ) {
return YES;
}
Run Code Online (Sandbox Code Playgroud)
我如何设法获取/读取班级中的返回值?