可能我可以创建一个将CGPoint作为实例变量保存的类,就像包装器一样.那有意义吗?不过,我对此感到不舒服.我希望有更好的解决方案.
如何自行创建标量类型?喜欢MyCoolScalarType?
我在Objective-C程序中有一个FoA的NSArray.我想调用每个Foo的doIt函数,但是,根据文档,NSArray的makeObjectsPerformSelector函数不允许修改原始Foos .当调用doIt时,doIt选择器为每个Foo更改m数据成员.如何在NSArray中的每个Foo上有效地执行此功能?
@interface Foo : NSObject {
NSString *m;
}
@property (nonatomic, retain) NSString *m;
-(void)doIt;
@end
Run Code Online (Sandbox Code Playgroud) 我的方法旨在从输入字符串中提取游戏级别的信息.输入指定2D阵列播放区域的大小,以及2D阵列中的哪些点处存在的项目.
例如,"4,3.a,b,c.d,e,f.g,h,i,j,k,l"将包含4列和3行,看起来像这样(没有连字符):
一个--- --- d ---克Ĵ
B ---电Ë---高---ķ
Ç--- F --- I ---升
代码工作正常,直到最后一行,我得到错误:"预期':'之前'''令牌".
我一直试图解决这个问题,所以如果我错过了一些愚蠢的事情,我会很尴尬!任何帮助将非常感激.
-(void)readLevelDataFromString:(NSString*)inputString {
//remove spaces from the input
NSString *tempString = [inputString stringByReplacingOccurrencesOfString:@" " withString:@""];
//make mutable
NSMutableString *levelDataString = [NSMutableString stringWithString:tempString];
//trim first 4 characters, which we don't need
[levelDataString deleteCharactersInRange:NSMakeRange(0, 4)];
//separate whole string into an array of strings, each of which contains information on the particular column
NSArray *levelDataStringColumns = [levelDataString componentsSeparatedByString:@"."];
NSAssert([levelDataStringColumns count] == numColumns, @"In the level data string, the number …Run Code Online (Sandbox Code Playgroud) 我已经看到了关于NSArray indexOfObjectIdenticalTo:方法的类似问题,但我希望我的问题只会产生简单的答案.搜索以编程方式构建的字符串是否无用?
NSArray* theArray = [[NSArray alloc] initWithObjects:@"John", nil];
NSString* searchString1 = @"John";
NSString* stringComponent = @"Jo";
NSString* searchString2 = [stringComponent stringByAppendingFormat:@"hn"];
BOOL testContains1 = [theArray containsObject:searchString1];
int testIndex1 = [theArray indexOfObjectIdenticalTo:searchString1];
BOOL testContains2 = [theArray containsObject:searchString2];
int testIndex2 = [theArray indexOfObjectIdenticalTo:searchString2];
Run Code Online (Sandbox Code Playgroud)
在上面的例子中,testContains1和testContains2两个返回相同的值,这是true.但testIndex1和testIndex2不同; testIndex1是0是因为它在索引0处找到了与预期相同的对象,但不幸的testIndex2是2147483647(NSNotFound).
嗨,我正试着读一个plist的值,这就是我的plist看起来像atm
<plist version="1.0">
<array>
<dict>
<key>Title</key>
<string>Mickey Mouse</string>
<key>Image</key>
<string>mickeymouse.png</string>
<key>Hint1</key>
<string>Hint 1</string>
<key>Hint2</key>
<string>Hint 2</string>
<key>Hint3</key>
<string>Hint 3</string>
</dict>
<dict>
<key>Title</key>
<string>Peter Pan</string>
<key>Image</key>
<string>peterpan.png</string>
<key>Hint1</key>
<string>Hint 1</string>
<key>Hint2</key>
<string>Hint 2</string>
<key>Hint3</key>
<string>Hint 3</string>
</dict>
</array>
</plist>
Run Code Online (Sandbox Code Playgroud)
这个我正在使用的代码然而它只是崩溃了.
AppDelegate *appDelegate = (AppDelegate *)[[UIApplication sharedApplication] delegate];
NSString *questionNumber = [NSMutableString stringWithFormat:@"Item 0"];
NSString *path = [[NSBundle mainBundle] pathForResource:@"Level1" ofType:@"plist"];
NSMutableArray *array = [[NSMutableArray alloc] initWithContentsOfFile:path];
NSDictionary *questionNumberDictionary = [array objectForKey:questionNumber];
NSString *questionTitle = [questionNumberDictionary objectForKey:@"Title"];
NSString *questionImage = [questionNumberDictionary objectForKey:@"Image"]; …Run Code Online (Sandbox Code Playgroud) 我的阵列:
NSMutableArray *squareLocations;
CGPoint dotOne = CGPointMake(1, 1);
[squareLocations addObject:[NSValue valueWithCGPoint:dotOne]];
CGPoint dotTwo = CGPointMake(10, 10);
[squareLocations addObject:[NSValue valueWithCGPoint:dotTwo]];
CGPoint dotThree = CGPointMake(100, 100);
[squareLocations addObject:[NSValue valueWithCGPoint:dotThree]];
int num = [squareLocations count];
for (int i = 0; i < num; i++)
{
NSValue *pointLocation = [squareLocations objectAtIndex:i];
NSLog(@"%@", pointLocation);
}
Run Code Online (Sandbox Code Playgroud)
当我要求squareLoctions对象计数时,它返回零?但就在上面要求计数我添加了三个NSValue对象??? 有人有主意吗?
我之前使用过NSUserDefaults,为我的应用程序的设置部分存储了一些变量.
但是现在我正在制作一个食谱应用程序,用户可以在其中键入自己的食谱并保存它们.每个食谱都有一个标题描述日期等.所以我想我需要一个数组来保存每个食谱.但是,我将如何动态添加每个新配方?
我的意思是我会开始将配方保存在阵列的下一个位置?如果用户删除一个食谱并且数组中有一个空位,会发生什么?
我的逻辑在保存数据方面是正确的吗?你会怎么做?
我有这样的一系列时间:
(
"2000-01-01 23:48:00 +0000",
"2000-01-01 02:15:00 +0000",
"2000-01-01 04:39:00 +0000",
"2000-01-01 17:23:00 +0000",
"2000-01-01 13:02:00 +0000",
"2000-01-01 21:25:00 +0000"
)
Run Code Online (Sandbox Code Playgroud)
这是从这段代码生成的:
//loop through array and convert the string times to NSDates
NSDateFormatter *timeFormatter = [[NSDateFormatter alloc] init];
[timeFormatter setDateFormat:@"hh:mm a"];
NSMutableArray *arrayOfDatesAsDates = [NSMutableArray array];
for (NSObject* o in arrayTimes)
{
NSLog(@"%@",o);
NSDate *nsDateTime = [timeFormatter dateFromString:o];
[arrayOfDatesAsDates addObject:nsDateTime];
}
NSLog(@"times array: %@", arrayOfDatesAsDates);//
Run Code Online (Sandbox Code Playgroud)
我这样做是因为我试图在接下来的数组中获得时间.我的计划是删除过去的时间,订购它们,然后在下次使用第一个.
我怎样才能删除过去的?
谢谢
我正在寻找循环我的NSArray*urls - 对每个对象进行一些字符串调整.
但是,一旦它进入For循环并尝试调整NSString*的东西 - 这会引发异常.
关于为什么我难倒的任何想法?
- (void)GetData
{
NSFileManager *fm = [NSFileManager defaultManager];
NSString *directory = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];
directory = [NSString stringWithFormat:@"%@/%@/%@/%@", directory, self.researcherID, self.participantID, testTypeString];
directory = [directory stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
NSError *error;
NSURL *url = [NSURL URLWithString:directory];
NSArray *urls = [fm contentsOfDirectoryAtURL:url includingPropertiesForKeys:nil options:0 error:&error];
for (int x = 0; x < urls.count; x++) {
NSString *urlIndex = urls[x];
NSString *thing = [urlIndex stringByReplacingOccurrencesOfString:@"%20" withString:@" "];
thing = [thing stringByReplacingOccurrencesOfString:@"file://" withString:@""];
// add thing to new …Run Code Online (Sandbox Code Playgroud) 我想安排一个NSarray,其中包含UItableView中的名称,如:
前5
瑞安
约翰
罗伊
阿梅拉
拍
5-10
戈斯林
摊晒
麦克风
贾斯汀
兰博
木材
10-15
...
...
15-20
...
...
20-25
...
...
想知道我应该用什么来保存标题,viewForHeaderInSection或者只是cellForRowAtIndexPath?
nsarray ×10
objective-c ×7
ios ×5
cocoa-touch ×1
for-loop ×1
iphone ×1
nsdate ×1
nsdictionary ×1
nsstring ×1
plist ×1
side-effects ×1
uikit ×1
uitableview ×1
url ×1