我需要在iPhone上使用正则表达式进行一些启动。基本上,我在私有MediaWiki中有以下形式的日期列表:
*185 BC: SOME EVENT HERE
*2001: SOME OTHER EVENT MUCH LATER
我现在想将其解析为具有NSDate属性和-say- NSString属性的对象。到目前为止,我有:(rawContentString包含页面的mediawiki语法)
NSString* regexString =@"\\*( *[0-9]{1,}.*): (.*)";
NSRegularExpressionOptions options = NSRegularExpressionCaseInsensitive;
NSError* error = NULL;
NSRegularExpression* regex = [NSRegularExpression regularExpressionWithPattern:regexString options:options error:&error];
if (error) {
NSLog(@"%@", [error description]);
}
NSArray* results = [regex matchesInString:rawContentString options:0 range:NSMakeRange(0, [rawContentString length])];
for (NSTextCheckingResult* result in results) {
NSString* resultString = [rawContentString substringWithRange:result.range];
NSLog(@"%@",resultString);
}
Run Code Online (Sandbox Code Playgroud)
不幸的是,我认为正则表达式无法按我希望的方式工作,而且我不知道如何捕获匹配的日期和文本。任何帮助都会很棒。顺便说一句:在任何地方都不会有MediaWiki语法的正则表达式模式编译吗?
在此先感谢Heiko *
我想将相机胶卷中的照片发送到网络服务 - 包括其exif数据.我使用ASIFormDataRequest - 所以我这样做:
ASIFormDataRequest *request = [[ASIFormDataRequest alloc]initWithURL:url];
Run Code Online (Sandbox Code Playgroud)
为了节省内存,我直接想要发送文件:
[request addFile:localPath forKey:@"image"];
Run Code Online (Sandbox Code Playgroud)
所以我需要资产的本地路径.我想我无法获取资产的本地路径,因此我暂时将资产保存到文件中:
ALAsset* selectedAsset = [assets objectAtIndex:index];
CGImageRef imageRef = selectedAsset.defaultRepresentation.fullScreenImage;
UIImage* image = [UIImage imageWithCGImage:imageRef];
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES);
NSString *cachesDirectory = [paths objectAtIndex:0];
NSData* imageData = UIImagePNGRepresentation(image);
NSString* filePath = [NSString stringWithFormat:@"%@/imageTemp.png",cachesDirectory];
[imageData writeToFile:filePath atomically:YES];
Run Code Online (Sandbox Code Playgroud)
然后我用这条路来做
[request addFile:localPath forKey:@"image"];
Run Code Online (Sandbox Code Playgroud)
图像被发送到服务器 - 但没有我需要的exif数据.除此之外,我认为必须有一个更聪明的方法来做到这一点.
TIA
我有一个精简版和完整版,并希望它们使用不同的配置文件.
现在我需要在应用程序中查询应用程序名称中是否包含"lite"并加载相应的配置文件我还没找到如何操作.任何的想法 ?或者通常有更好的方法吗?
在此先感谢Heiko
任何人都可以为我清除这个吗?
我正在构建一个iPad应用程序,它有一个TableViewController,可以显示1000到2000个字符串之间的内容.我在单身人士中有那些NSStrings.
在Singleton的init方法中,我初始化一个包含所有数据的数组(不一定是最后的方法 - 只是一个快速的复制和粘贴测试)
我做了一个 self.someArray = [[NSArray alloc]initWithObjects:后跟大量的字符串,然后是零.
在模拟器中运行良好 - 但在应用程序启动时崩溃,iPad上的访问权限很差
如果我使用便捷方法[NSArray arrayWithObjects:- 它工作正常.
我查看了仪器,App的整体内存占用量仅为2.5 MB左右.
现在我不知道它为什么单向运行而不是另一条运行.
编辑:
#import "StaticValueContainer.h"`
static StaticValueContainer* instance = nil;
@implementation StaticValueContainer
@synthesize customerRatingKeys;
+(StaticValueContainer*)sharedInstance
{
if (instance == nil){
instance = [[StaticValueContainer alloc]init];
}
return instance;
}
-(id)init
{
if ( ( self = [super init] ))
{
[self initCustomerRatingKeys];
}
return self;
}
-(void)init customerRatingKeys
{
self.customerRatingKeys = [[NSArray alloc]initWithObjects:
@"string1",
....
@"string1245"
,nil
}
Run Code Online (Sandbox Code Playgroud)
正如我所说:它在设备上崩溃,self.customerRatingKeys = …