Tag: 目标C

用于检测TableView底部的伪代码

我试图检测用户何时到达Xamarin.iOS表的底部。 我已经创build了这个伪代码,以便检测底部,但是一旦应用程序运行,打印它已经在表的底部,实际上它不是。 float height = tableView.Frame.Size.Height; float contentYoffset = tableView.ContentOffset.Y; float distanceFromBottom = tableView.ContentSize.Height – contentYoffset; if (distanceFromBottom < height) { Console.WriteLine ("Bottom of Table"); } 任何build议,以改善这个代码或任何更好的方法来检测底部? 这是我的TableView.cs类: public class TableView : UITableView, ITableCellProvider<Datum> { public TableView () { } public TableView (IntPtr handle) : base(handle) { } public UITableViewCell GetCell (Datum item) { var […]

可以__在自动变零的块中间吗?

在后台线程上运行的块中使用__weak self引用时,我只需要在开始时检查nil ,还是在第一个niltesting通过后执行期间, __weak self也可以变为nil? 我想在块中访问自己的一些Ivars,并且在块执行时我需要最新的值。

如何告诉编译器一个属性只有存在才被访问?

我可以使用HasProperty来检查属性是否存在。 只有在属性存在的情况下,才能执行一个方法。 即使属性不存在,编译器如何成功编译? 例如 if (UIApplication.SharedApplication.Delegate.HasProperty("Instance")) { AppDelegate customAppDelegate = UIApplication.SharedApplication.Delegate as AppDelegate; customAppDelegate.Instance.SomeMethod(true); // can't be compiled because Instance doesn't exist } 事情是这样的:首先,我检查是否存在这个动词。 如果是,我执行我的方法。 所以通常情况下代码是从不执行的(除了属性存在),但编译器无法区分这一点。 它只检查属性是否存在,不考虑if子句。 有这个解决scheme吗?

使用Cocoa Touch从服务器上传和下载数据?

如何从Cocoa Touch的服务器上传/下载数据? 这是我到目前为止… -(void)uploadSchedule:(id)sender { NSData *content = [NSData dataWithContentsOfFile:self.dataFilePath]; NSString *stuff = [[NSString alloc] initWithData:content encoding:NSASCIIStringEncoding]; NSURL *url = [NSURL URLWithString:@"http://thetis.lunarmania.com"]; NSMutableURLRequest* urlRequest = [[NSMutableURLRequest alloc]initWithURL:url]; [urlRequest setHTTPMethod:@"POST"]; [urlRequest setHTTPBody:[stuff dataUsingEncoding:NSASCIIStringEncoding]]; NSLog(@"great success!"); } -(void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response { // this method is called when the server has determined that it // has enough […]

UIPickerView中可以有多less个组件?

我只是想知道,有多less组件可以添加到UIPickerView ?

如何自定义Apple App Store外观?

我最近看到,苹果应用程序商店中有一些应用程序具有像下面这张照片那样的自定义devise。 我如何在Apple App Store中自定义我的应用程序的外观?

如何获得由AFNetworking的UIImageView类别存储的caching图像?

我在我的应用程序中使用UIImageView+AFNetworking.h以下类别的UIImageView+AFNetworking.h ,它的工作正常,它为我caching照片,并顺利加载图像。 有一次,我想获得一个已经在我的caching中的图像。 所以我挖掘到以上类别类,我发现以下代码,我认为 – 可以是有益的。 这是它的片段: @implementation AFImageCache – (UIImage *)cachedImageForRequest:(NSURLRequest *)request { switch ([request cachePolicy]) { case NSURLRequestReloadIgnoringCacheData: case NSURLRequestReloadIgnoringLocalAndRemoteCacheData: return nil; default: break; } return [self objectForKey:AFImageCacheKeyFromURLRequest(request)]; } – (void)cacheImage:(UIImage *)image forRequest:(NSURLRequest *)request { if (image && request) { [self setObject:image forKey:AFImageCacheKeyFromURLRequest(request)]; } } @end 如果你想要我添加这个网页版本,它已经在这里 。 我认为, – (UIImage *)cachedImageForRequest:(NSURLRequest *)request是可以返回我的caching图像的方法。 […]

RubyMotion重新加载UITableView的部分

我怎样才能重新加载一个表的特定部分? [self.tableView reloadSections:[NSIndexSet indexSetWithIndex:indexPath.section] withRowAnimation:UITableViewRowAnimationFade] 我怎么能用ruby的语法来写这样的东西呢?

在iOS中使用Facebook SDK获取更多个人资料照片

我在我的应用程序中使用iOS的Facebook SDK。 -(IBAction)FacebookLogin:(id)sender{ if (FBSession.activeSession.isOpen) { [self promptUserWithAccountNameForStatusUpdate]; } else { NSArray *permissions = [[NSArray alloc] initWithObjects: @"publish_stream",@"email",nil]; [FBSession openActiveSessionWithPermissions:permissions allowLoginUI:YES completionHandler:^(FBSession *session, FBSessionState status, NSError *error) { if (error) { } else if (FB_ISSESSIONOPENWITHSTATE(status)) { [[FBRequest requestForMe] startWithCompletionHandler: ^(FBRequestConnection *connection, NSDictionary<FBGraphUser> *user, NSError *error) { if (!error) { [self promptUserWithAccountNameForStatusUpdate]; } }]; } }]; […]

Cstring中的Swiftstring长度正确,但内容不正确

我对这个人有类似的问题,但问题不是这个答案的原因。 我得到一个C函数的const char * 。 这个函数实际上是在C ++中实现的,它返回一个结构体的值,它包含了std::string c_str()的返回值,它是一个指向string内容的C指针。 这个string存在于静态内存中。 由于指针被复制到返回,我希望数据是好的。 根据Xcode的debugging器,我得到的string实际上是正确的长度(请参阅下面的countAndFlags ,正确的字符数为7),但内容是垃圾。 这是在一个UITableView方法,有什么奇怪的是,如果我使用reloadData() TableView方法(我连线到一个button),然后有下面的namevariables的有效内容垃圾问题消失。 然而,这个随后reloadData()调用不会改变表中其他地方使用的任何数据,只有这个有问题的string垃圾消失了。 这是第一遍debugging器,显示垃圾但正确的长度: 当文本是正确的时候,下一个通过: 我无法理解这种行为。 结构体包含其他属性,它们在返回时没有被破坏,但是这个char *只在第一次通过时是垃圾的,并且长度正确。 我很欣赏任何指针(没有双关语意)在这里发生的事情。 最后,这里是返回Cstring的函数的C ++代码: scene getScene(sceneID s){ static std::map<sceneID, std::vector<nodeID> > nodeArrays; auto ss = globalObjects.scenes.at(s); auto sceneroots = ss.roots; if (nodeArrays.count(s)>0) nodeArrays.at(s).clear(); else confirmInsertion(nodeArrays.emplace(s, std::vector<nodeID>{})); auto v = nodeArrays.at(s); v.reserve(sceneroots.size()); for (const auto&i:sceneroots) v.push_back(i); scene […]