Score %0 (0 correct0 incorrect20 unanswered)
Q1. ¿Cuál es el valor de s?
NSMutableString *s = [NSMutableString stringWithString: @"123"];
[s appendString: @"456"];
- 123456
- 123
- 123
- 456
- Este código contiene un error.
Q2. ¿Cuál es el valor de i después de estas declaraciones?
NSString *str = nil;
NSInteger i = str.integerValue;
- nil
- 0 (técnicamente
nil
== 0 pero i tendrá un valor literal de 0
y no el valor void*
de nil
)
- -1
- Este código falla.
Q3. ¿Qué valor tiene str después de que se ejecute esta línea?
NSString str = "test" + " " + "more";
- Este código contiene un error.
- test
- nil
- test more
Q4. ¿Cuál es la salida del código que se muestra a continuación?
NSPredicate *p2 = [NSPredicate predicateWithBlock:^BOOL(NSString* evaluatedObject, NSDictionary<NSString *,id> * _Nullable bindings) {
return evaluatedObject.intValue % 2 == 0;
}];
NSArray *vals = @[@"1", @"2", @"3"];
NSArray *n2 = [vals filteredArrayUsingPredicate:p2];
NSLog(@"%@", n2.firstObject);
- 2
- 1,2,3
- 1,2
- Nada, ya que este código contiene un error.
Q5. ¿Cuáles son los valores predeterminados de las propiedades?
- atomic/strong
- atomic/weak
- nonatomic/weak
- nonatomic/strong
Q6. ¿Cuál es la diferencia clave entre NSDictionary y NSMutableDictionary?
- Los valores de NSMutableDictionary pueden cambiar
- NSMutableDictionary no tiene inicializadores.
- NSDictionary no puede ser copiado.
- Los valores de NSDictionary pueden cambiar.
Q7. ¿Qué es foo?
-(float)foo;
- Una función con un tipo de retorno float.
- Este código contiene un error.
- Una declaración de variable de tipo float.
- Una propiedad de tipo float.
Q8. ¿Qué se puede deducir de esta línea?
#import "NSString+NameHelper.h"
- NameHelper es una categoría de NSString.
- NameHelper es una subclase de NSString.
- NSString implementa el protocolo NameHelper.
- NSString tiene una clase de ayuda.
Q9. ¿Qué hay de malo en este código?
float x = 5.;
- No hay nada malo con este código.
- Las declaraciones no necesitan punto y coma.
- x=5 es un float inválido.
- Las variables no pueden declararse e inicializarse en el mismo estado.
Q10. ¿Cuántas veces se ejecutará este bucle?
for (int x=0; x<100; x++) {
x = x + 1;
}
- 50
- 99
- 100
- Este código contiene un error.
Q11. ¿De qué es un ejemplo este código?
[self addObserver: self forKeyPath: @"val" options:0 context: nil];
- Observación de clave-valor
- Observación de valores de clase
- Observación de datos clave
- Observación de rutas clave
Q12. ¿Qué significa ARC?
- Recuento automático de referencias
- Comprobación automática de retención
- Ciclos de retención asíncronos
- Código de liberación automática
Q13. ¿Qué se imprime con este código?
int val = 0;
val = 1.5;
printf("%d", val);
- 1
- 2
- 0
- Este código contiene un error.
Q14. ¿Qué describe mejor la herencia de clases en Objective-C?
- herencia única pero implementación múltiple de protocolos
- Objective-C no admite herencia
- herencia de clases dual
- herencia de clases y adherencia a protocolos ilimitada
Q15. ¿Cuántas claves tiene este NSDictionary después de que se ejecute este código?
NSDictionary *dict = [[NSDictionary alloc] initWithObjectsAndKeys: @"b", @"e", @"a", @"r", nil];
- 2
- 4
- 5
- Este código contiene un error.
Q16. ¿Cuál es el error en este código?
NSMutableDictionary *dict1 = [NSMutableDictionary dictionaryWithCapacity:5];
[dict1 setValue:@"key" forKey:@"value"];
- Los elementos clave y valor están mezclados
- No hay nada mal en ello
- No se puede establecer la capacidad de un diccionario
- NSMutableDictionary no tiene una función :setValue:forKey.
Q17. ¿Qué se imprime con este código?
NSData *data = [@"print" dataUsingEncoding:NSASCIIStringEncoding];
NSLog(@"%@", [[NSString alloc] initWithData:data encoding:NSASCIIStringEncoding]);
- print
- Este código es inválido
- Nada se imprime de este código.
- nil
Q18. ¿Qué es diferente acerca de esta función?
+(void)doSomething;
- Es estática
- Es abstracta.
- Es en línea.
- Este código contiene un error.
Q19. ¿Qué pueden tener los structs?
- funciones
- inicializadores
- campos
- todas estas respuestas
Q20. ¿Qué está mal con este código?
@interface MyClass : NSObject
@property (strong, nonatomic, readonly) NSString *name;
@end
- No hay nada mal con este código.
- No hay una directiva de solo lectura.
- MyClass no implementa NSObject.
- Las propiedades se declaran en la implementación.